"Doctrine\ORM\QueryBuilder"类型的预期参数

hou*_*ous -1 php query-builder symfony doctrine-orm

这是在函数"myList中" ProduitRepository:

    public function myList($id)
{


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

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

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

}
Run Code Online (Sandbox Code Playgroud)

这是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();}
         )
    );
}
Run Code Online (Sandbox Code Playgroud)

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

小智 7

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