Ich habe eine Frage bezüglich Join-Klauseln in Eloquent, und ob Sie auf einen Zeichenfolgewert statt einer Tabellenspalte beitreten können.Eloquent - Join-Klausel mit Zeichenfolge Wert und keine Spaltenüberschrift
Ich habe den folgenden Code Abfrage eines verschachtelten Sets verbinden Eltern/Kind Datensätze in einer Tabelle "Destinationen" über eine Tabelle "Taxonomie".
Die zweite $join
Anweisung in der Schließung ist derjenige, der ein Problem verursacht; Eloquent nimmt an, dass dies eine Spalte ist, wenn ich eigentlich nur auf t1.parent_type = 'Destination'
beitreten möchte - also t1.parent_type
sollte = ein String-Wert, Destination
.
$result = DB::connection()
->table('destinations AS d1')
->select(array('d1.title AS level1', 'd2.title AS level2'))
->leftJoin('taxonomy AS t1', function($join) {
$join->on('t1.parent_id', '=', 'd1.id');
$join->on('t1.parent_type', '=', 'Destination');
})
->leftJoin('destinations AS d2', 'd2.id', '=', 't1.child_id')
->where('d1.slug', '=', $slug)
->get();
Ist es möglich, Eloquent zu zwingen, dies zu tun? Ich habe versucht, 'Destination'
durch DB::raw('Destination')
zu ersetzen, aber das funktioniert auch nicht.
Vielen Dank.
Um meine eigene Frage zu beantworten, ist die Lösung zu verwenden 'DB :: raw ("'Destination'") '- Ich habe die Anführungszeichen schon vorher verpasst! – benJ
Beantworte deine eigene Frage dann ;-) –