2016-10-29 8 views
0

zusätzlich zu meiner letzten Frage Laravel 5.3 Eloquent RelationshipsLaravel 5.3 Eloquent - wählen Sie aus 3 Tabellen

ich eine neue Tabelle namens Labels und natürlich erstellen für diese Tabelle ein neues Modell hinzugefügt.

Sprachen

id 
name 
short_name 

Wörterbuch

id 
label_id 
value 
language_id 

Labels

id 
label_name 

, und ich habe diesen Code:

$lables = Dictionary::whereHas('language', function($query) { 
     $short_name = basename(__DIR__); 
     $query->where('short_name', $short_name); 
    })->pluck('value', 'label_id')->toArray(); 

Ich möchte statt des label_id die label_name Feld ziehen

aber ich weiß nicht, wie diese kommen zu machen.

+0

@TrevorHickey danke für deine Rechtschreibkorrektur –

Antwort

1

können Sie versuchen, join() als

$lables = Dictionary::whereHas('language', function($query) { 
        $query->where('short_name', 'en'); 
       }) 
       ->join('labels', 'dictionary.label_id', '=', 'labels.id') 
       ->pluck('dictionary.value', 'labels.label_name') 
       ->toArray(); 

ich nicht zu 100% mit bin sicher, das wird funktionieren, aber man kann es ein Schuss.

+0

Amit, du bist ein Magier! –

Verwandte Themen