Comment écrire cette requête SQL dans Doctrine 2.0 (et récupérer les résultats)?Comment écrire UNION dans Doctrine 2.0
(SELECT 'group' AS type, CONCAT(u.firstname, " ", u.surname) as fullname, g.name AS subject, user_id, who_id, group_id AS subject_id, created FROM group_notification JOIN users u ON(who_id = u.id) JOIN groups g ON(group_id = g.id))
UNION
(SELECT 'event' AS type, CONCAT(u.firstname, " ", u.surname) as fullname, e.name AS subject, user_id, who_id, event_id AS subject_id, created FROM event_notification JOIN users u ON(who_id = u.id) JOIN events e ON(event_id = e.id))
ORDER BY created
Et comment est l'explication de cette solution? – ihsan
@ihsan vous sélectionnez dans le référentiel de la classe de base ('Notification') et vous obtenez tous les objets de type sous-classe (' NotificationGroup', 'NotificationEvent', et même simplement' Notification' si vous ne l'avez pas déclaré abstrait). Si vous n'avez besoin que de certains types, vous pouvez utiliser l'opérateur 'INSTANCE OF' dans WHERE. –