2013-11-22 3 views
0

Я использую Sonata для создания backoffice и в configureFormFields, я хочу сделать запрос, чтобы вернуть некоторые значения. Запрос хорошо выполнен и возвращает значения, когда я использую var_dump, но в форме я всегда получаю «Класс не существует». Вы можете мне помочь?Запрос в Sonata Admin

Вот код:

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


} 
+0

Какая у вас ошибка? То есть какой класс не существует? –

+0

может быть проблемой с '-> from ('EBCoreKernelBundle: Campaign \ Campaign', 'cmp');' this line. use '-> from ('EBCoreKernelBundle: Campaign', 'cmp');' если объект вашей кампании находится в папке Entity EBCoreKernelBundle – bsnrijal

+0

@bsnrijal, которая не работает – peterfigwall

ответ

0

$ объект = новый \ Nnx \ AbpBundle \ Entity \ Трюк();

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

+2

Вы должны разработать немного свой ответ, а не только код без контекста. – avcajaraville