比方说,我查询了一堆不同的混合实体。假设所有这些实体都在一个继承表中,并且有十几种不同的类型。
我想为这些实体中的任何一个生成到奏鸣曲编辑页面的链接。
我可以使用get_class
函数获得Entity对象的全限定类名。我想不出一种将该类提供给Sonata并使其返回代表该类的Admin的服务对象或服务ID的方法。
如果可以的话,可以使用Admin类的generateUrl
方法来创建指向编辑表单的链接。
答案 0 :(得分:0)
所有管理服务都存储在一个池中。
Github :https://github.com/sonata-project/SonataAdminBundle/blob/3.x/src/Admin/Pool.php
可以通过服务sonata.admin.pool
访问此池。
此服务中包含您的魔术方法:
$admin = $this->get('sonata.admin.pool')->getAdminByClass('YOUR CLASS NAME');