topic和tag是多对多关系,某文章下的查询相关文章如何操作?
我的实现方法如下,不过感觉方法太复杂,有没有简单点的方法?
public function detail(Topic $topic)
{
$tag_ids=$topic->tags()->pluck('tag_id');
$tag_topics = $topic::where('id','<>',$topic->id)->whereHas('tags', function($query) use ($tag_ids) {
$query->whereIn('tag_id', $tag_ids);
})->orderBy('created_at','desc')->take(5)->get();
return view('topics.detail', compact('topic', 'tag_topics'));
}
2 Comments
说个不太相关的 相关文章通过算法后台离线计算存到缓存中供前台获取效果更好
@nonfu#1339
很厉害的样子,不太懂,有什么例子吗?