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'));

}


Vote Vote Cancel Collect Collect Cancel

<< 上一篇: Laravel Passport

>> 下一篇: 表单验证错误是否是 每个字段的各种错误都有必要写单元测试