我的项目中有一个简单的关系模型,我有请求和注释,并为两个实体创建了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()”没有 类型提示,您应该显式配置其值。
我尝试寻找自己的解决方案已经有一段时间了,但似乎没人对此有问题。希望有人能帮助我,我真的很喜欢奏鸣曲和编码,任何帮助将不胜感激。如果需要的话,我会提供其他信息。
答案 0 :(得分:2)
我刚刚找到了解决方案:更改您的
- [ addChild, ['@App\Admin\MaintenanceCommentAdmin', 'maintenance_request_id']]
使用
- [ addChild, ['@admin.maintenanceComment', 'maintenance_request_id']]