Doctrine 2 DQL - Wybierz wiersze, w których pole wiele do wielu jest puste?

W tym przykładzie mam dwie klasy - DeliveryMethod i Country. Mają ze sobą relację wiele do wielu.

Chcę wybrać wszystkie metody dostawy, które nie mają przypisanych do nich krajów.

Mogę zrobić odwrotnie, czyli wybrać wszystkie metody dostawy, które mają co najmniej jeden kraj -

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

Ale nie wiem, jak wybrać, gdzie pole krajów jest puste. W zwykłym SQL wykonałbym następujące czynności (deliverymethod_country to tabela łącząca):

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

Jednak żaden odpowiednik DQL tego nie działa, na przykład:

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

Co daje mi ten błąd:

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

questionAnswers(4)

yourAnswerToTheQuestion