我的数据库示意图
表POST
| id | title | content |
表SharedGroup
|id | title | slug
表Post_SharedGroup
|id| post_id | shared_group_id|
我想在laravel中查询一个我给sharedgroup的子弹并获取它的信息
答案 0 :(得分:0)
$data = Post::whereHas('sharedGroup',function($query) use($slug){
$query->whereIn('slug',$slug);
})->get();
其中$slug
是您给定的子弹数组
模型发布
public function sharedGroup(){
return $this->belongsToMany('App\SharedGroup');
}
模型SharedGroup
public function post(){
return $this->belongsToMany('App\Post');
}
答案 1 :(得分:0)
您似乎只想要三个表之间的基本连接:
$posts = DB::table('POST p')
->join('Post_SharedGroup ps', 'p.id', '=', 'ps.post_id')
->join('SharedGroup s', 'ps.shared_group_id', '=', 's.id')
->whereIn('s.slug', array(1, 2, 3)) // match slug values (1, 2, 3)
->select('p.*')
->get();