Php Laravel得到了所有有关系的模型

Php Laravel得到了所有有关系的模型,php,laravel,orm,eloquent,relationships,Php,Laravel,Orm,Eloquent,Relationships,我找不到如何在Laravel中使用Elount获得与另一个元素相关的所有元素。 我有物质和内容,并希望所有与名称为“subst”的物质有关的内容 我的关系实质内容: public function relation () { return $this->belongsToMany('Substance', 'contents_substances', 'id_contents', 'id_substances'); } public function relation ()

我找不到如何在Laravel中使用Elount获得与另一个元素相关的所有元素。 我有物质和内容,并希望所有与名称为“subst”的物质有关的内容

我的关系实质内容:

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(); // ???

感谢您的帮助

最简单的方法是从另一个角度开始查询。在本例中,来自
内容
<代码>whereHas
将根据
物质关系添加约束:

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