我有5个表:
1. news
2. tags
3. filters
4. news_tag
5. tag_filters
表结构如下:
news
id
title
description
标签
id
title
过滤器
id
title
news_tag
id
tag_id
news_id
tag_filter
id
tag_id
filter_id
假设我的数据表包含以下记录:
news: id = 1 title = News_1 Description = Details for News_1
tags: id = 1 title = PHP
filters: id = 1 title = PHP News
news_tag: id = 1 tag_id = 1 news_id = 1
tag_filter: id = 1 tag_id = 1 filter_id = 1
我的模型关系如下:
新闻模型:
public function tags(){
return $this->belongsToMany('App\Tag', 'news_tag');
}
标签模型
public function news(){
return $this->belongsToMany('App\News', 'news_tag');
}
public function filters(){
return $this->belongsToMany('App\Filter', 'tag_filter');
}
过滤器模型
public function tags(){
return $this->belongsToMany('App\Tag', 'tag_filter');
}
假设我的路由如下:
Route :: get('news/filter/{filter_id}','NewsController@getNews');
当我将filter_id 1传递到我的路由时,我想检索与tag_id 1相关的所有新闻。 有人可以帮助我如何在我的控制器中实现这一点吗?