在奏鸣曲管理中自定义查询管理
问题描述:
我是新来的奏鸣曲和symfony,我想知道是否有办法为configureFormFileds()
中的实体之一创建自定义查询?在奏鸣曲管理中自定义查询管理
我需要它在几个实体之间构建一个相当复杂的管理视图,这些实体通过一个星形(许多连接)的单个中间表进行多对多关联。我的想法是构建一个复杂的查询,获取所有数据,然后将其传递给我的表单。
我也试图在教义中映射所有这些关系,并在一系列自定义窗体中逐个获取它们,但不幸的是,实体必须互相检查,以至于无法正常工作。
答
您需要提供一些更多的信息,得到一个准确的答案,但对于你的主要问题:
我是新来的索纳塔和Symfony和我想知道如果有一种方法可以 创建自定义查询 中的某个实体configureFormFileds()?
我可以回答。一般来说,这是可能的,是的。检查sonata_type_model的query
配置参数或sonata_type_model_autocomplete字段类型的callback
选项。
答
是的,您可以为实体创建自定义查询。 (示例为学说)
->add(
'manager',
EntityType::class,
[
'label' => 'Manager',
'class' => 'MainBundle\Entity\Manager',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('m')
->where('m.username LIKE :username')
->setParameter('username', $this->getConfigurationPool()
->getContainer()
->get('security.token_storage')->getToken()->getUser()->getName()
)
->orderBy('m.id', 'ASC');
},
]
)
如何创建查询 - 锁定在官方documentation。
请提供更多信息,附带代码示例,谢谢。 –