简体   繁体   English

在Sonata Admin查询

[英]Query at Sonata Admin

I'm using Sonata to make a backoffice and at configureFormFields, I want do a query to return some values. 我正在使用Sonata制作后台,并在configureFormFields上执行查询以返回一些值。 The query is well done and returns values when I use var_dump, but at the form I always get "Class does not exist". 当我使用var_dump时,查询已完成,并返回值,但是以总是出现“类不存在”的形式。 Can you help me? 你能帮助我吗?

Here is the code: 这是代码:

protected function configureFormFields(FormMapper $formMapper)
{
      /* @var $queryBuilder \Doctrine\ORM\QueryBuilder */
    $queryBuilder = $this->getModelManager()
            ->getEntityManager('EBCoreKernelBundle:Campaign\Campaign')
            ->createQueryBuilder();

    $queryBuilder->select('cmp.id, cmp.name')
                 ->from('EBCoreKernelBundle:Campaign\Campaign', 'cmp');

          /* @var $templateList Template[] */
    $templateList = $queryBuilder->getQuery()->execute();

         var_dump($templateList);

    $formMapper
        ->add('name','sonata_type_model',  array('required' => true, 'query' => $queryBuilder));


}

$entity = new \\Nnx\\AbpBundle\\Entity\\Truc(); $ entity = new \\ Nnx \\ AbpBundle \\ Entity \\ Truc();

$query = $this->modelManager->getEntityManager($entity)->createQuery('SELECT t FROM Nnx\\AbpBundle\\Entity\\Truc t ORDER BY t.lib ASC')->execute(); $ query = $ this-> modelManager-> getEntityManager($ entity)-> createQuery('SELECT t FROM Nnx \\ AbpBundle \\ Entity \\ Truc t OR BY BY t.lib ASC')-> execute();

As documentation: 作为文档:

https://sonata-project.org/bundles/admin/master/doc/reference/form_types.html https://sonata-project.org/bundles/admin/master/doc/reference/form_types.html

query defaults to null. 查询默认为空。 You can set this to a QueryBuilder instance in order to define a custom query for retrieving the available options. 您可以将其设置为QueryBuilder实例,以定义用于检索可用选项的自定义查询。

So, let's give it a query builder: 因此,让我们给它一个查询生成器:

        $queryBuilder = $this->getModelManager()
           ->getEntityManager(Category::class)
           ->createQueryBuilder('c')
           ->select('c')
           ->from('AppBundle:Category', 'c')
           ->orderBy('c.title', 'ASC')
        ;

        $formMapper->add('toto', ModelType::class, array(
           'query' => $queryBuilder
        ))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM