2010-12-31 7 views
2

Ich bin neu mit Doctrine2, so dass meine Frage leicht zu beantworten ist (ich hoffe es). Zunächst einmal hier die SQL-Abfrage, die ich würde wollen:Wie man eine verschachtelte Abfrage mit einer Entität macht, die nicht wirklich existiert (Viele-zu-Viele)

SELECT * FROM Document WHERE id NOT IN (SELECT document_id FROM Documents_Folders)

Ziemlich einfach, nicht wahr? Das Problem ist, dass meine Tabelle 'Documents_Folders' keine Entität ist. Tatsächlich wurde es erstellt, weil ich eine Viele-zu-Viele-Beziehung zwischen meinen Entitäten "Dokument" und "Ordner" habe.

Ich versuchte mehrere Abfragen, aber keine funktionierte.

Danke.

Antwort

0

Es sieht wirklich ziemlich einfach aus, also ist es nicht das Problem mit Ihrem SQL. Also, wenn Sie Hilfe benötigen, sagen Sie uns, was ist der Fehler, den Sie bekommen?

BTW Ihre Datenbank sollte nicht kümmern, was Sie Dokumente_Folder für verwenden - es ist nur eine Tabelle. (Ich kenne Doctrine2 nicht, aber es ist immer noch eine normale Datenbank darunter, oder?)

+0

Das Problem ist nicht wirklich der Fehler, den ich bekam, aber wie man meinen SQL in DQL macht. Ich möchte, dies zu tun: $ this -> _ Ausführungs> Create (" SELECT d FROM Application \ MyBundle \ Entity \ Document d WHERE id NICHT IN (document_id VON Documents_Folders SELECT") -> getResult(); Aber es sagt mir, dass Documents_Folders keine Klasse ist (und es ist nicht) – Calou

0

Aus Neugier, Was ist Ihr Geschäftsfall hier. Versuchen Sie, verwaiste Dokumente zu erhalten? Ein Dokument kann Teil vieler Ordner sein und ein Ordner kann viele Dokumente haben?

+0

Das ist genau das, ich habe nichts hinzuzufügen. – Calou

Verwandte Themen