“Doctrine \ ORM \ QueryBuilder”类型的预期参数

时间:2014-01-28 23:20:53

标签: php symfony doctrine-orm query-builder

这是 ProduitRepository 中的函数“myList”:

    public function myList($id)
{


    $qb = $this->createQueryBuilder('p');

    $qb->where('p.id > 10');

    return $qb->getQuery()
               ->getResult();

}

这是 ProduitType.php

中的builderForm
    public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('nom', 'text',              array('required' => true))
        ->add('description', 'textarea',  array('required' => false))
        ->add('prix', 'money',            array('required' => true))
        ->add('publication', 'checkbox',  array('required' => false))
        ->add('image', new ImageType() )
        ->add('sousCategorie', 'entity',array(
        'class' => 'StoreCategorieBundle:SousCategorie',
        'property' => 'nom',
        'multiple' => false,
        'expanded' => false ))

        ->add('produit', 'entity', array(
        'class' => 'StoreProduitBundle:Produit',
        'property' => 'nom',
        'query_builder' => function(\Store\ProduitBundle\Entity\ProduitRepository $er) {
         return $er->myList();}
         )
    );
}

这是错误消息: “Doctrine \ ORM \ QueryBuilder”类型的预期参数,“数组”给出

1 个答案:

答案 0 :(得分:7)

在myList()中,您没有返回QueryBuilder对象,而是返回一个表示QueryBuilder对象结果的数组。尝试在myList($ id)中切换return语句以返回$ qb;