Doctrine 2 DQL - Выберите строки, в которых поле «многие ко многим» пусто?

У меня есть два класса в этом примере - DeliveryMethod и Country. У них много-много-много отношений друг с другом.

Что я хочу сделать, это выбрать все методы доставки, для которых не назначены страны.

Я могу сделать наоборот, то есть выбрать все способы доставки, которые имеют хотя бы одну страну -

<code>SELECT m FROM DeliveryMethod m JOIN m.countries
</code>

Но я не могу понять, как сделать выбор, где поле стран пустое. В простом SQL я бы сделал следующее (deliverymethod_country - таблица ссылок):

<code>SELECT m.* FROM deliverymethods m
LEFT JOIN deliverymethod_country dc ON dc.deliverymethod_id = m.id
WHERE dc.deliverymethod_id IS NULL
</code>

Однако любой DQL-эквивалент этого не работает, например:

<code>SELECT m FROM DeliveryMethod m LEFT JOIN m.countries WHERE m.countries IS NULL
</code>

Что дает мне эту ошибку:

<code>[Syntax Error] line 0, col 75: Error: Expected end of string, got 'm'
</code>

Ответы на вопрос(4)

Ваш ответ на вопрос