Ich verwende Slim Framework mit Illuminate-Datenbank .
Ich möchte JOIN
query mit USING
clausa machen. Nehmen wir an, Sakila Datenbank. Diagramm:
Wie macht man eine Verbindung mit der USING-Klausel (nicht ON) im eloquenten Modell?
Was ich möchte, ist ein eifriges Laden mit der EXACT 1-Abfrage . Die Verwendung eloquenter Beziehungen, die in der API beschrieben werden, trifft nicht Erwartung, da jede eifrige Beziehung N + 1 Abfrage verwendet. Ich möchte es weniger IO zur Datenbank machen.
FilmActor-Modell:
%Vor%Also, in der Steuerung kann ich die Daten wie
bekommen %Vor% Aber es gibt ein Problem, wenn ich zusätzliches Verhalten hinzufügen muss (wie where
oder order
).
Ich muss den Tabellennamen übergeben, um ein mehrdeutiges Feld zu vermeiden. Nicht gut . So will ich für den weiteren Gebrauch, ich kann tun
%Vor% Sie können versuchen, in Code zu finden, ist es möglich, USING JOIN
zu erstellen, oder fügen Sie ein Proxy-Wörterbuch hinzu:
BTW: Besserer Weg ist Funktion wie Arr :: get ($ arr, $ index, $ default) (Siehe Codebeispiel)