【发布时间】:2020-10-04 18:34:41
【问题描述】:
我需要从 Post 和 Tag 表中获取多对多关系的过滤数据。
我有帖子模型:
class Post extends Model
{
public function tag()
{
return $this->belongsToMany('App\Tag', 'post_tag','post_id','tag_id');
}
}
标签模型如下:
Class Tag extends Model
{
protected $fillable = ['name'];
public function post()
{
return $this->belongsToMany(Post::class, 'post_tag');
}
}
但是当我尝试根据 tag_id 获取过滤数据时:
if($request->filled('tag_id')){
$posts = Post::whereHas(
['tag' => function($query) use($request)
{
$query->where('tag_id','=', $request->input('tag_id'));
}
])->get();
}
没用
【问题讨论】:
标签: laravel eloquent many-to-many