原则:在所有项目都排成阵列的情况下,找到许多关系

时间:2019-05-09 11:21:09

标签: doctrine

我需要帮助,以查找在许多关系中包含数组中所有项目的项目。

例如具有以下结构:

[root@GEC6818:~]# ./a
Killed

我需要找到Projects,其中包含所有ID为ID的示例的类别(1、2、3)。

当我使用

Project
  - Id - int
  - Name - string
  - Categories - manytomany (Category)

Category
  - Id - int
  - Name - string

它找到了所有类别为ID 1、2或3的项目,但不是全部。

1 个答案:

答案 0 :(得分:0)

假设$categories是一个变量,其中包含要检查的projects类别数组,则可以使用foreach循环创建多个andWhere()满足所有条件的语句:

foreach ($categories as $category) {
    $qbProjects->andWhere($qbProjects->expr()->in($category->getId(), 'p.categories'));
}

如果您通过其他方法获取类别ID,当然可以根据需要进行修改。