2017-05-30 120 views
0

我是新来的奏鸣曲和symfony,我想知道是否有办法为configureFormFileds()中的实体之一创建自定义查询?在奏鸣曲管理中自定义查询管理

我需要它在几个实体之间构建一个相当复杂的管理视图,这些实体通过一个星形(许多连接)的单个中间表进行多对多关联。我的想法是构建一个复杂的查询,获取所有数据,然后将其传递给我的表单。

我也试图在教义中映​​射所有这些关系,并在一系列自定义窗体中逐个获取它们,但不幸的是,实体必须互相检查,以至于无法正常工作。

+1

请提供更多信息,附带代码示例,谢谢。 –

回答

0

您需要提供一些更多的信息,得到一个准确的答案,但对于你的主要问题:

我是新来的索纳塔和Symfony和我想知道如果有一种方法可以 创建自定义查询 中的某个实体configureFormFileds()?

我可以回答。一般来说,这是可能的,是的。检查sonata_type_modelquery配置参数或sonata_type_model_autocomplete字段类型的callback选项。

0

是的,您可以为实体创建自定义查询。 (示例为学说)

 ->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

相关问题