2016-12-07 8 views
0

Symfony 3:私は2つのエンティティ:ProductCategoryを持っています。Symfonyクエリ:多対多の関係が別の配列に存在する

Product->categoriesは、Categoryエンティティと多対多の関係です。

私はandWhere句を理解して、カテゴリの配列で製品をフィルタリングしようとしています。

これは動作しませんが、それはあなたに私が達成しようとしているかのアイデアを与える:

私はに基づいて、カテゴリの配列で製品をフィルタリングするための条件を書くことができますどのように
$qb->andWhere('product.categories IN (:categories)'); 
$qb->setParameter('categories', $categories); 

多くから多くcategoriesプロパティ?

答えて

0

私はちょうど参加する必要がありますcategories。その後、IDの配列を渡すとINが機能します。

$qb->innerJoin('pc.categories', 'c'); 
$qb->andWhere('c.id IN (:ids)'); 
$qb->setParameter('ids', $ids);