查看数据透视表中的laravel返回结果

时间:2016-10-05 12:56:10

标签: laravel

我有一个画廊表和一个标签表。数据透视表' gallery_tag'与多对多关系存在。

我正在努力思考一种方式,我可以显示画廊(图库::)图像只是说'红色' (标签ID:2)在我的页面上。

如果tag_id存储在gallery表中,我知道怎么做,但如何在我的Tag ::或Gallery ::中搜索该特定ID?

我知道这段代码永远不会有用,但希望它会解释我想要做的事情:

$red        =   Gallery::wherePivot('id', '=', 2)->get();

由于

1 个答案:

答案 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
}

请参阅文档中的Eloquent Many to Many Relationship