Учитывая следующую схему:
person:
id: ~
group:
id: ~
group_membership:
person_id: ~
group_id: ~
Я пытаюсь найти членов, не входящих в определенную группу, используя критерии Propel, что будет делать следующий SQL:
SELECT * FROM person
WHERE id NOT IN (
SELECT person_id FROM group_membership
WHERE group_id = 1
);
К сожалению,Propel не поддерживает суб-выбор.Возможно выполнить предварительный выбор сначала и передать его непосредственно как массив, но я бы предпочел сделать это за один вызов.Я нашел эту статью , в которой предлагается использовать пользовательские критерии или преобразовать их в объединение.
Можно ли преобразовать вышеуказанный SQL в одно объединение без вложенных выборок?