Sin datos de prueba es complicado, porque es medio al ojo, pero bueno, proba algo así:
Código PHP:
Ver original$q = Doctrine_Query::create()
->select('m.id')
->from('Mozo m')
->where('NOT EXISTS (SELECT sm.idMozo
FROM ServicioMozo sm
INNER JOIN sm.Servicio s
WHERE s.fechaServicio = ?)', $fecha);
o con NOT IN así:
Código PHP:
Ver original$q = Doctrine_Query::create()
->select('m.id')
->from('Mozo m')
->where('m.id NOT IN (SELECT sm.idMozo
FROM ServicioMozo sm
INNER JOIN sm.Servicio s
WHERE s.fechaServicio = ?)', $fecha);