2015-04-07 24 views
1

我無法找到如何使用Laravel中的雄辯來獲得與另一個元素的關係的所有元素。 我有物質和內容,並希望與名稱'subst'有關的所有物質的內容。Laravel得到與關係的所有模型

我的關係物質 - 內容:

public function relation() 
{ 
    return $this->belongsToMany('Substance', 'contents_substances', 'id_contents', 'id_substances'); 
} 

public function relation() 
{ 
    return $this->belongsToMany('Content', 'contents_substances', 'id_contents', 'id_substances'); 
} 

我知道我能得到所有相關的一種物質內容:

$content = Substance::find(1)->relation()->get(); 

,但有可能獲得所有相關的一組內容物質?

類似:

$sub = Substance::where('name', '=', 'subst'); // get all the substances with that name 
$contents =$sub->relation()->get(); // ??? 

任何幫助表示讚賞!

回答

0

最容易的是從另一個角度開始查詢。在這種情況下從ContentwhereHas然後將基於substances關係添加約束:

$contents = Content::whereHas('substances', function($q){ 
    $q->where('name', 'subst'); 
})->get();