Frage

Ich habe ein paar einfache Klassen, alle erstreckt Doctrine_Record.

Jetzt möchte ich eine etwas komplexere Abfrage mit Inner machen Join nicht nur Tabellendaten Extraktions.

I DQL verwenden tue, nicht verpflichtet, dies zu mir manuell Beziehung zwischen zwei Tabellen definieren? Soll ich diese Beziehung Klasse definieren oder ich besser schema.yml aktualisieren und irgendwie Klasse Code neu generieren?

Nein DQL verbindet sind möglich, ohne eine solche ausdrückliche Beziehung Vorbereitungen, nicht wahr?

War es hilfreich?

Lösung

Sie können die Beziehung zu Ihrer .yaml Datei hinzufügen und dann Klassen neu generieren, die Art und Weise. Hier Dokumentation Lehre über die Beziehungen in Yaml Dateien.

Sie müssen Ihre db neu generieren so Lehre die richtigen Fremdschlüssel-Constraints auf der Grundlage der neuen Beziehungen hinzufügen. Dies ist relativ einfach mit dem Kommandozeilen-Befehl Lehre und vorausgesetzt, dass Sie nicht über den Verlust Ihrer Daten kümmern. Wenn Sie kümmern sich um Daten zu verlieren, sollten Sie die Verwendung Lehre Ihre Migrationen für Sie zu verwalten, aber das ist über den Rahmen Ihrer Frage. Sie können durch einen Blick auf A Frankel Antwort auf diese Frage .

Andere Tipps

Ich würde Klassencode regenerieren. Ich finde, es ist immer eine gute Praxis entweder Schema oder db als maßgebliche Quelle zu verwenden und dann nur regenerieren und / oder Migrationen verwenden. Ist es einfacher, Dinge zu behaupten, dass Art und Weise. Das Gleiche gilt für Propel sowie Lehre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top