2016-10-29 90 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

阿米特,你是魔术师! –