相关代码:
in services.yml
sonata.admin.domain:
class: MyBundle\AdminBundle\Admin\MyAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "Domains", label: "Domains" }
arguments:
- ~
- MyBundle\ServiceBundle\Entity\MyEntity
- ~
calls:
- [ setTranslationDomain, [MyOtherBundle]]
在我的管理员控制器中:
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->add('domain')
->add('user.email')
->add('_action', 'actions', array(
'actions' => array(
'show' => array())));
}
错误在:
Notice: Undefined index: user
进一步描述问题,我有一个具有user_id列的表,我希望能够在该表的相同列表中包含用户电子邮件地址(使用fos用户包)。我也试过没有运气的自定义查询。提前谢谢
答案 0 :(得分:0)
这是关于列表视图定义的官方文档:
http://sonata-project.org/bundles/admin/master/doc/reference/action_list.html
和
http://sonata-project.org/bundles/doctrine-orm-admin/master/doc/reference/list_field_definition.html
如果你的实体中有user_id,我想你的实体是fosUserBundle的覆盖,对吗?
通常你可以直接从列表字段定义访问,如下所示:
->add('user.email') // user is you entity object
否则,如果它是具有user_id的独立实体,则您可能在此实体与拥有fosuserbundle对象的实体之间存在关系,并且在上面的列表字段定义中,您通常应该访问对象电子邮件。