2015-11-04 57 views
2

我有问题要获取由“添加新”和模态窗口调用的类。Symfony和Sonata获得类“pcode”

的情况是,我有一个“添加新建”按钮对我的条目以sonata_type_model:

->add('rfid', 'sonata_type_model', array(
       'class' => 'Admin\IdManageBundle\Entity\RFID', 
       'property' => 'barcode' 
      )) 

当我点击“添加新”它让我看到一个模式窗口,与我可以创建新的RFID。

但我的RFID类有一个条形码对象必须填写的类的数据有'添加新'按钮!

我可以处理父类与

->add('barcode', 'text', array(
       'data' => $this->getRequest()->get('pcode') 
      )) 

,但我希望能够得到回应“P码” 的实体管理在我的情况$这个 - > Request()方法 - >获取( 'P码')回报:

admin_product_accessory_audio_audio.admin.audio

,它通过不是可读$这个 - > getConfigurationPool() - > getContainer() - >获取( '主义') - > getRepository($这个 - > Request()方法 - >获取( 'P码')

它让我疯狂! :d

在此先感谢

+0

不是100肯定,因为我不看代码atm,但我相信,你必须首先获取该管理员的管理员对象(你在pcode中获得的那个),然后从该特定管理员获取实体类,可以使用作为getRepository的参数(这需要一个实体名称,而不是你的'adminname') –

回答

1

使用

$admin = $this->getConfigurationPool()->getAdminByAdminCode('admin_product_accessory_audio_audio.admin.audio'); 
$className = $admin->getClass(); 
$repo = $this->getConfigurationPool()->getContainer()->get('doctrine')->getRepository($class); 

说的吗?

+0

太棒了!那个救了我:)谢谢 –