Doctrine 2 DQL - Selecione linhas onde um campo muitos para muitos está vazio?

Eu tenho duas classes neste exemplo - DeliveryMethod e Country. Eles têm um relacionamento muitos-para-muitos um com o outro.

O que eu quero fazer é selecionar todos os DeliveryMethods que não tenham nenhum País mapeado para eles.

Eu posso fazer o oposto, ou seja, selecionar todos os métodos de entrega que tenham pelo menos um país -

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

Mas não consigo descobrir como selecionar onde o campo de países está vazio. Em SQL simples eu faria o seguinte (deliverymethod_country é a tabela de ligação):

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

No entanto, qualquer equivalente DQL disso não funciona, por exemplo:

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

O que me dá esse erro:

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

questionAnswers(4)

yourAnswerToTheQuestion