Symfony2 - QueryBuilder错误消息

时间:2017-04-12 14:10:11

标签: php symfony query-builder

所以,我将尝试解释我在这里遇到的问题:)

  

捕获致命错误:传递给AppBundle \ Controller \ MunkakController :: AppBundle \ Controller {closure}()的参数1必须是AppBundle \ Controller \ EntityRepository的实例,Doctrine \ ORM \ EntityRepository的实例

这是我收到的错误消息。这是我尝试运行的代码:

$formbe = $this->createFormBuilder($ujbeszab, ['attr' => ['id' => 'ujbeszabid']])
            ->setAction($this->generateUrl('uj-beszab', array('szabid' => $szabid)))
            ->setMethod('POST')
            ->add('munkatipusok', 'entity', array('class' => 'AppBundle:Munkatipusok', 'query_builder' => function(EntityRepository $rep) {
                $qb = $rep->createQueryBuilder('u');
                return $qb->orderBy('u.munkatipusok', 'ASC');
            }, 'empty_value' => null, 'label' => "Munkatípus", 'required' => false))   
            ->add('idopont', 'date', array('label' => "Időpontja", 'format' => 'yyyy.MM.dd', 'years' => range(date('Y') -10, date('Y') +10), 'required' => true))
            ->add('megjegyzes', 'textarea', array('label' => "Megjegyzés", 'required' => false))
            ->add('submit', 'submit', array('label' => 'Létrehozás'))
            ->getForm();

它有一些匈牙利变量名,基本上我正在尝试将作业添加到数据库中。您必须从下拉列表中选择作业类型,输入日期('idopont'),您还可以添加注释('megjegyzes')。工作类型来自不同的表,它们来自'munkatipusok'表。所以,我想要做的是能够过滤显示的工作。我知道我可以显示所有作业类型,然后使用javascript将它们从选择字段中删除,但这样做有风险,以防jscript无法在计算机上运行。所以我想用QueryBuilder过滤服务器端。

0 个答案:

没有答案