无法在Sonata Admin Bundle中使工作孩子成为admin

时间:2018-06-22 05:04:00

标签: sonata-admin

我的项目中有一个简单的关系模型,我有请求和注释,并为两个实体创建了admins类。他们可以作为单独的管理员很好地工作,并且所有关系在项目的公共部分都可以正常工作,但是我不能将注释设置为请求的子管理员类。

这是我在services.yaml中拥有的

admin.maintenanceRequest:
        class: App\Admin\MaintenanceRequestAdmin
        arguments: [~, App\Entity\MaintenanceRequest ,~]
        tags:
            - {name: sonata.admin, manager_type: orm, label: Maintenance }
        public: true
        calls:
            - [ addChild, ['@App\Admin\MaintenanceCommentAdmin', 'maintenance_request_id']]

我还在子管理类中定义了$ parentAssociationMapping:

protected $parentAssociationMapping = 'maintenance_request_id';

但这会导致此错误:

  

无法自动装配服务“ App \ Admin \ MaintenanceCommentAdmin”:参数   方法的“ $ code”   “ Sonata \ AdminBundle \ Admin \ AbstractAdmin :: __ construct()”没有   类型提示,您应该显式配置其值。

我尝试寻找自己的解决方案已经有一段时间了,但似乎没人对此有问题。希望有人能帮助我,我真的很喜欢奏鸣曲和编码,任何帮助将不胜感激。如果需要的话,我会提供其他信息。

1 个答案:

答案 0 :(得分:2)

我刚刚找到了解决方案:更改您的

    - [ addChild, ['@App\Admin\MaintenanceCommentAdmin', 'maintenance_request_id']]

使用

    - [ addChild, ['@admin.maintenanceComment', 'maintenance_request_id']]