クエリビルダーに少し苦労しています。多対多の関係を持つカテゴリと予算のエンティティがあります。ユーザーは、特定のカテゴリで新しい予算を作成できる必要があります。新しい予算を作成するときに、特定のカテゴリを含む既存の予算がないかどうかを確認したいと思います。
もう少し詳しく説明すると、食品、旅行、電化製品のカテゴリがあり、旅行と食品の予算を既に作成していて、ユーザーが旅行と食品の別の予算を作成したいとしますが、もちろんそうすべきではありません。
IN を使用してみましたが、配列ではなく単一の値しか取りません:
$budgets = $this->createQueryBuilder('bud');
$budgets->where('bud.user = :user')
->andWhere($budgets->expr()->in('bud.tags', array(10, 11, 12)))
->setParameter('user', $budget->getUser())
->getQuery()->getResult();
もちろん、これは例外をスローします。