2016-03-11 5 views
0

У меня есть класс формы как (сервис), и я использую entity type для выбора статьи.Symfony 3 Form Тип сущности

В Symfony 2 это работает:

$builder 
    ->add('article', EntityType::class, 
     array(
     'em' => $this->em, 
     'class' => 'MyBundle\Entity\Article', 
      'query_builder' => function ($em) { 
       return $em->createQueryBuilder('a') 
       ->where('a.active = 1'); 
      }, 
     'choice_label' => 'name') 
    ) 

Но в Symfony3 я получил ошибку: Neither the property "article" nor one of the methods ...

Моя проблема заключается в том, что статья не имеет свойство article. Когда я переименую статью на имя

->add('name', ...` 

Как я могу передать членство в форму, пожалуйста?

+0

Покажите нам, что сущность связана с этой формой. –

+0

Каковы данные, которые вы собираетесь заполнить этим полем? (результат '$ form-> getData()') – Heah

ответ

2

В Symfony 3, вам нужно использовать полное доменное имя класса, поэтому вместо того, чтобы:

'class' => 'MyBundle\Entity\Article', 

вам нужно использовать:

'class' => \MyBundle\Entity\Article::class, 

Подробнее об этом в книге: http://symfony.com/doc/current/book/forms.html#building-the-form И, возможно, вы хотите проверить все остальное, что вам нужно изменить при обновлении с Symfony 2 до Symfony 3: https://github.com/symfony/symfony/blob/master/UPGRADE-3.0.md

Смежные вопросы