2017-05-05 4 views
0

Zählen habe ich eine Produktentität und ich möchte alle Produkte erhalten, die Angebote haben. Die productHasImages ist eine OneToMany Beziehung zwischen Product und ImagesSymfony/Lehre: Ungültige PathExpression wenn OneToMany

/** 
    * @ORM\OneToMany(targetEntity="ProductHasImage", mappedBy="product", cascade={"persist"})) 
    * @ORM\OrderBy({"sorting" = "ASC"}) 
    */ 
    private $productHasImages; 

So stelle ich die Querybuilder mit den folgenden Optionen in meinem Form-Entity up:

.... 
    ->add('product', EntityType::class, array(
         'class' => 'AppBundle\Entity\Product', 
         'multiple' => false, 
         'expanded' => false, 
         'label' => 'product', 
         'translation_domain' => 'product', 
         'query_builder' => function (EntityRepository $er) use ($portal) { 
          return $er->createQueryBuilder('p') 
           ->select('p') 
           ->addSelect('COUNT(p.productHasImages) AS productHasImagesCount') 
           ->having('productHasImagesCount > 1'); 
         } 
        )) 

Ohne die Count-Abfrage, erhalte ich alle entites , aber damit bekomme ich einen Fehler:

[Semantical Error] line 0, col 18 near 'productHasImages)': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected. 

Kann mir jemand dabei helfen? VIELEN DANK!

+0

Was ist, wenn Sie tun, um Ihre Zählung in der ersten Auswahl ? Funktioniert es nicht? –

Antwort