如何从数据透视表中获取材料?

时间:2018-08-17 06:42:18

标签: laravel laravel-5

我有一个通过附加的Materials表与Tags相关的表many-to-manyMaterial_Tag。在获取材料Material::get ();时必须确定符合性标签列表的条件。如果数据在同一表中,则通过Material::where(...)->get();完成。如果数据位于不同的表中并通过belongsToMany()链接怎么办?

2 个答案:

答案 0 :(得分:1)

如果您对标签具有RelationsToMany关系,则需要根据标签获取材料:

Material::whereHas('tags', function ($query) {
    $query->where('field', 'field name');
});

答案 1 :(得分:0)

语法如下:

Material::whereHas('tags', function ($query) {
    $query->where(...);
})->get();

有据可查,您应该阅读有关Eloquent more的信息。