get-6ren">
gpt4 book ai didi

php - Symfony 表单错误 : "Expected argument of type "Doctrine\ORM\QueryBuilder", "Doctrine\ORM\Query"给出”

转载 作者:行者123 更新时间:2023-12-02 21:06:57 25 4
gpt4 key购买 nike

我在 Controller 中有两个表单,第一个表单工作正常,但我的第二个表单无法按预期工作。

我的 Controller :

// Second Form
$formTwo = $this->get('form.factory')->createNamedBuilder('form2name', new CarType(), null, array())
->getForm();

if('POST' === $request->getMethod()) {

if ($request->request->has('form1name')) {
// handle the first form
}

if ($request->request->has('form2name')) {
// handle the second form
// get the id value of the selected value.
}
}

我的车型:

public function buildForm(FormBuilderInterface $builder, array $options){

$builder->add('makename','entity',array(
'class'=> 'MyTestBundle:Car\CarModel',
'query_builder'=>function(EntityRepository $er){
return $query = $er->createQueryBuilder('s')
->select('s.makename')
->distinct()
->orderBy('s.makename','ASC');
}

));
$builder->add('search','submit',array());
}

My Car Entity

Full Stack Trace

Error : "Expected argument of type "Doctrine\ORM\QueryBuilder", "Doctrine\ORM\Query" given"

Symfony 版本:2.7

最佳答案

query_builder(用于构建表单)中,您必须返回一个QueryBuilder对象。目前,您返回一个 Query 对象。

只需删除getQuery()

 $builder->add('makename','entity',array(
'class'=> 'MyTestBundle:Car\CarModel',
'query_builder'=>function(EntityRepository $er){
return $er->createQueryBuilder('s')
->select('s.makename')
->distinct()
//->getQuery(); remove this line
}

关于php - Symfony 表单错误 : "Expected argument of type "Doctrine\ORM\QueryBuilder", "Doctrine\ORM\Query"给出”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35557016/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com