我有一个画廊表和一个标签表。数据透视表' gallery_tag'与多对多关系存在。
我正在努力思考一种方式,我可以显示画廊(图库::)图像只是说'红色' (标签ID:2)在我的页面上。
如果tag_id存储在gallery表中,我知道怎么做,但如何在我的Tag ::或Gallery ::中搜索该特定ID?
我知道这段代码永远不会有用,但希望它会解释我想要做的事情:
$red = Gallery::wherePivot('id', '=', 2)->get();
由于
答案 0 :(得分:0)
图库模型:
public function tags()
{
return $this->belongsToMany('App\Tag','gallery_tag');
}
标记模型:
public function galleries()
{
return $this->belongsToMany('App\Gallery','gallery_tag');
}
然后,这将给出标签为id 2的画廊的所有图像。
$tag=Tag::where(['id'=>2])->with('galleries')->first();
foreach($tag->galleries as $gallery)
{
print_r($gallery->image); //image is the column in galleries table
}