2014-01-28 88 views
-1

這是ProduitRepository函數 「myList中」:預期類型的​​變量 「學說 ORM QueryBuilder的」

public function myList($id) 
{ 


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

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

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

} 

,這是在builderForm ProduitType.php

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();} 
     ) 
    ); 
} 

這是th錯誤消息: 預期的參數類型「Doctrine \ ORM \ QueryBuilder」,「數組」

+0

什麼課程?什麼線?什麼功能? –

+0

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

回答

7

在myList()中,您沒有返回QueryBuilder對象,而是返回表示QueryBuilder對象結果的數組。嘗試切換myList($ id)中的return語句以返回$ qb;