2017-11-18 3 views
0

Ich bin Anfänger in Laravel und ich benutze Version 5.5.leftJoin-Methode in eloquenten ORM?

Gibt es im eloquenten ORM eine Methode leftJoin?

Ich weiß, es gibt eine auf DB-Fassade (Abfrage-Generator), aber wenn ich nur Eloquent verwenden möchte gibt es eine leftJoin-Methode?

Nehmen wir an, als Beispiel habe ich ein Modell CarBrand und ein anderes CarModel. CarBrand haben einen Beziehungstyp hasMany mit CarModel und CarModel gehört zu CarBrand.

Angenommen, ich möchte die ID von CarBrand ohne CarModel-Korrespondenz finden.

fand ich auf dieser Seite, mehrere Antworten wie folgt aus:

CarBrand::leftJoin('CarModelTableName', 
    'CarBrandTableName.id','=','CarModelTableName.carBrandId')-> 
    whereNull('CarModelTableName.carBrandId')->first(); 

Ich habe überprüft, und es funktioniert wie ein links :)

Aber in diesem Fall verbinden ist :: leftJoin ein Eloquente Methode oder lautlos geht es zur DB-Fassade?

Ich kann keine für links in Laravel 5 offizielle Dokumente außer DB Fassade finden. Alle Links würden geschätzt werden.

Hoffe, dass ich klar war,

Vielen Dank für Ihre Aufmerksamkeit.

Antwort

0

Ich denke, fand ich die Antwort ....

finde ich heraus, dass ich so etwas wie verwenden:

LaravelModellName::AnyQuerryBuilderMethod 

so ist, warum Methoden verwendet DB Fassade

Das Problem in Meine primäre Frage könnte 100% in eloquenter Weise gelöst werden, indem die doesntHave-Modellmethode verwendet wird:

$result = CarBrand::doesntHave('RelationshipNameWithCarModel')->get(); 
Verwandte Themen