Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Cómo saber si una entidad no tiene ninguna relación en una asociación many-to-many

24 de marzo de 2015

Hola, tengo dos entidades; una llamada profesor y otra asignatura y una relación ManyToMany entre ellas donde la entidad asignatura es la propietaria. Lo que quiero saber es cómo obtener los profesores que no tienen asignaturas. Intenté con este código:

$consulta = $em->createQuery('
    select p  from ControlProfesorBundle:profesor p where p.asignatura is null p
');

Pero me da el siguiente error:

[Semantical Error] line 0, col 69 near 'asignatura is': Error: Invalid PathExpression. 
StateFieldPathExpression or SingleValuedAssociationField expected.
500 Internal Server Error - QueryException
1 linked Exception: QueryException »

Respuestas

#1

Hola @DarielCorchado...

En tu caso, yo haría lo siguiente: hago una consulta de los profesores que tengan relación con alguna asignatura. Luego, consulto todo el listado de profesores. Comparo los dos arrays y quien no esté en el array de relación los paso a un array para procesarlos como: sin-asignatura.

Saludos!

@cristian_angulo

25 marzo 2015, 14:38