2017-03-17 5 views
0

Meine Abfrage mysql wie folgt aus:Wie Alias ​​auf Self Laravel eloquent hinzufügen? Laravel 5.3

SELECT * 
FROM categories a 
JOIN categories b ON b.parent_id = a.id 
JOIN products c ON c.category_id = b.id 
WHERE a.id = 1 

ich es ändern wollen eloquent

Auf der Modellkategorie Laravel, versuche ich so:

self::join('categories b', 'b.parent_id', '=', 'a.id') 
    ->join('products c', 'c.category_id', '=', 'b.id') 
    ->findWhere(['a.id','=',$id]); 

ich verwirrt bin add Alias ​​zu self

Wie kann ich es tun?

Hinweis:

Ich möchte self verwenden. Nicht andere

+0

_ ** @ Shadow ** _: Hat referierte post wirklich etwas über _ ** alias ** _ für _ ** self ** _ or noch etwas? –

+0

@Shadow, Scheint, dass dies kein Duplikat ist. Mein Fall ist anders. Sie sollten meinen Fall langsam lesen –

+0

@RavinderReddy gut, sowohl Sie als auch das OP sollten den doppelten Beitrag langsam lesen. Es beschreibt, wie ein Self-Join in Laravel erstellt wird, indem eine Beziehung mit sich selbst hergestellt wird. Das müssen Sie auch hier tun. – Shadow

Antwort

0

Da wirst du es in dem Modell tun. Ich denke, Sie müssen $this anstelle von self verwenden. Genau wie bei der Erstellung der Tabellenrelation:

Verwandte Themen