我有两个表,post和post_tag。这两个表的结构如下:
--Post--
id|Content|user_id
--Post_tag
id|post_id|tag( type = var char / tag name)
我使用这样的查询:
post::whereHas('post_tag', function ($query) use ($tags) {
$query->where('tag', $tags);
});
我想得到所有基于帖子的标签(例如:标签php及其返回所有帖子都有标签php)但它返回错误undefined whereHas方法,是否应该读取任何引用?提前致谢
答案 0 :(得分:0)
为模型添加关系
//Post
public function tags()
{
return $this->hasMany(Post_tag::class);
}
// Post_tag
public function posts()
{
return $this->belongsTo(Post::class);
}
然后您可以根据
这样的标记获取所有帖子 $posts = Post_tag::with('posts')->where('tag','php')->get();