我有一个表单类作为(服务),我使用entity type
来选择一篇文章。
在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 :(得分: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