Implementieren Sie die SQL Union-Abfrage mit dem Abfrage-generator in der Lehre Symfony2
Ich bin derzeit mit Symfony2-framework. Ich weiß nicht, wie man beitreten 2 meiner Abfrage durch den Abfrage-generator in Symfony2, ich kann einfach beitreten, Sie mithilfe von SQL-UNION-Abfrage. Unten ist die Abfrage, die korrekte Ergebnisse zurückgegeben.
SELECT * FROM (SELECT m.id, m.subject, m.date
FROM message m JOIN message_incoming mi ON m.id = mi.id
WHERE m.recipient_id = 1
AND mi.trash = 1
AND mi.deleted = 0) AS y
UNION
SELECT * FROM (SELECT m.id, m.subject, m.date
FROM message m JOIN message_outgoing mo ON m.id = mo.id
WHERE m.originator_id = 1
AND mo.trash = 1
AND mo.sent = 1
AND mo.deleted = 0) AS z
ORDER BY date DESC
War ich versucht, an diesen code in nur 1 Abfrage (ohne GEWERKSCHAFT), um das richtige Ergebnis, aber ich nicht.
Also, wie kann ich implementieren Sie diese Abfrage mit dem Abfrage-generator?
Bitte beraten Sie, danke.
- Was ist Ihr Fehler?
- Die obige Abfrage läuft über phpmyadmin ganz gut ohne Fehler. Aber das problem ist ich brauche, um es zu implementieren, mithilfe von Query Builder.
- Was haben Sie versucht? Und was war der Fehler, das macht Sie denken, es ist fehlgeschlagen? Oder vielleicht sind Sie auf der Suche nach jemandem, der schreiben kann, die Abfrage für Sie?
- WÄHLEN Sie m.id, m.Gegenstand, m.Datum VON Nachricht m JOIN message_incoming mi AUF m.id = mi.id JOIN message_outgoing mo AUF m.id = mo.id, WO m.recipient_id = 1 UND mi .trash = 1 UND mi .deleted = 0 ODER mo .trash = 1 UND mo .deleted =0 UND mo .gesendet = 1 ORDER by Datum DESC, das war es, was ich versuchte zu vermeiden, UNION, aber es gibt null, das ist nicht korrekt, und ja, ich bin derzeit auf der Suche nach jemanden, join der Abfrage (UNION vermeiden) oder implementieren können, die der UNION durch den query builder.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die beste Art und Weise zu schreiben, wie Abfrage, ohne zu viel hack auf Doctrine2 selbst wäre, die Nutzung
NativeQuery
.Der Muttersprache/sql
QueryBuilder
verwendet genau die gleiche API wie die ORM. Und Sie sind in der Lage zu anzeigen führen zu einer vorhandenen Entität.Ich weiß nicht, wie dumm ich bin beim Eintritt in die 2 Abfragen ohne Prüfung von Bedingungen.
Dies ist die korrekte Abfrage :
Habe ich versucht umzusetzen, es durch den Abfrage-generator :
Wie überraschend es gibt falsche Ergebnis ! So ich versucht, um zu sehen, wie Sie die Abfrage wurde erstellt mit :
Und ich weiß wirklich nicht, warum die Lehre erzeugt zusätzliche Klammer wie komme ich zu diesem Ergebnis (gezielt schauen, WO Klausel) :
Also das muss das richtige sein, wenn ich meine eigenen parenthsis :
Fühle mich ein wenig dumm.