我有一个带有 SonataAdminBundle 2.0 的 Symfony 2.0。这是我的一个管理员控制器的一种方法。
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('name')
->add('events', 'sonata_type_collection', array(), array(
'edit' => 'inline',
'inline' => 'table'
))
;
$this->getFormFieldDescription('events')
->setAssociationAdmin($this->getConfigurationPool() >getInstance('platform.admin.events'));
}
并且我将 eventsAdmin 控制器与此方法相关联
protected function configureFormFields(FormMapper $formMapper)
{
$currentObjectId = '' // this is what I want???
$formMapper
->add('name')
->add('time')
->add('trigger')
;
}
所以我的父母表格看起来像
名称:blablabla
事件:
1. - delete1 - name1 - time1 - trigger
2. - delete2 - name2 - time2 - trigger
3. - delete3 - name3 - time3 - trigger
我想要的是在关联管理员中获取当前对象的 ID。“触发器”是一个选择框,它取决于当前对象 ID。我必须用它进行查询。
Sonata\AdminBundle\Admin\Admin中有一个方法->getSubject()但它总是返回第一个“事件”对象。
有什么建议么?