2016-10-29 93 views
0

除了我的最後一個問題Laravel 5.3 Eloquent RelationshipsLaravel 5.3雄辯 - 選擇從3個表

我添加了一個新的表稱爲標籤,當然爲此表創建一個新的模式。

語言

id 
name 
short_name 

字典

id 
label_id 
value 
language_id 

標籤

id 
label_name 

,我有這樣的代碼:

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

我想拔出LABEL_NAME領域,而不是label_id

,但我不知道如何使這個連接。

+0

@TrevorHickey謝謝你的拼寫修正 –

回答

1

您可以嘗試使用join()作爲

$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(); 

我不是100%肯定,將工作,但你可以給它一個鏡頭。

+0

阿米特,你是魔術師! –