【发布时间】:2017-04-11 12:08:31
【问题描述】:
我不知道为什么这不起作用:
->add('productSearchType', EntityType::class, array(
'label' => 'entity.text.product.product_search_number_type',
'class' => AC\ProductBundle\Entity\ProductSearchType::class,
'choice_label' => 'designation',
'expanded' => false,
'placeholder' =>
'entity.text.product.select_product_search_number_type',
'query_builder' => function (EntityRepository $er) {
return $er->createQueryBuilder('e')
->orderBy('e.designation', 'ASC');
},
))
这是错误信息:
可捕获的致命错误:参数 1 传递给
Symfony\Bridge\Doctrine\Form\Type\DoctrineType::__construct()
必须实现接口 Doctrine\Common\Persistence\ManagerRegistry,
没有给出,在 (...)\src\Symfony\Component\Form\FormRegistry.php 中调用
在第 85 行并定义 (...)
【问题讨论】:
-
向我们展示表单是如何实例化的。您可能做了类似
new YourFormType();之类的操作,而不是通过表单工厂服务或类似服务(容器感知)获取表单。 -
$entity = $this->productService->getVariant($id); $form = $this->formFactory->create(VariantType::class, $entity, array('method' => 'POST', ));
-
那你是如何注入 formFactory 属性的?
标签: orm doctrine symfony-3.2