【发布时间】:2017-01-26 07:01:13
【问题描述】:
我有一页显示图像+添加到图像的标签。我想让标签可以点击,当我点击某个标签来打开所有有这个标签的图片时。
我有 3 个表:images 用于图像,tags 用于标签,image_tag 用于分配给带有列的图像的标签(image_id 和 tag_id)。我的模型是
在标签模型中我添加了这个关系
public function byTags() {
return $this->belongsToMany('App\Image', 'item_tag');
}
我也将此添加到我的图像模型中,但我不确定是否需要它
public function byTags() {
return $this->belongsToMany('App\Tag');
}
这是应该加载所有图像的 href 链接
<a href="{!! url('byTag/' . $tag->id) !!}"> {!! $tag->tag !!} </a>
这是我的路线
Route::get('byTag/{tag_id}', 'ImageController@byTag')->name('bytag');
ImageController中的byTag()函数
public function byTag($tag_id){
$images = Tag::with('byTags')->whereId($tag_id)->get();
return view('bytag', compact('images'));
}
当我点击按钮时发生的情况是,我在视图上获得了标签bytag,而不是带有此标签的图像。
我在这里想念什么?
【问题讨论】: