关系不能包含数组以外的其他值

Relation can not contain other values than in array

我遇到了一些困难,希望你能帮帮我。

假设我有两个表:classstudent。一个 class 有很多 student 而一个 student 只有一个 class.

我被允许管理某些学生,分布在不同 类。现在我想检索允许我看到的所有 classes。这是基于,当所有 student 都在我的可见范围内(将通过数组给出)时,我可能会看到 class。因此,我需要 ALL IN 之类的东西而不是 IN,但这显然不存在。

有没有人能指出我正确的方向,如何使用 Doctrine v1.2.4 或简单的 SQL 来实现?

我一直在努力解决一些问题并找到了这个解决方案,它将检索所有 类 所有学生都在我的可见范围内:

SELECT
    c.*
FROM
    class c
INNER JOIN student s ON c.id = s.class_id
WHERE
    s.id NOT IN (
        SELECT
            id
        FROM
            student
        WHERE
            s.id NOT IN (1, 2, 5, 6, 8) /* All visible student id's */
)
GROUP BY
    c.id