Doctrine 2 DQL - ¿Seleccionar filas donde un campo de muchos a muchos esté vacío?

Tengo dos clases en este ejemplo: DeliveryMethod y Country. Tienen una relación de muchos a muchos entre sí.

Lo que quiero hacer es seleccionar todos los métodos de entrega que no tengan ningún país asignado.

Puedo hacer lo contrario, es decir, seleccionar todos los métodos de entrega que tengan al menos un país:

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

Pero no puedo averiguar cómo seleccionar dónde está vacío el campo de países. En SQL simple haría lo siguiente (deliverymethod_country es la tabla de enlace):

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

Sin embargo, cualquier equivalente DQL de esto no funciona, por ejemplo:

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

Lo que me da este error:

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

Respuestas a la pregunta(4)

Su respuesta a la pregunta