仅$trendtag
代码有效。但是,如果我要加载帖子,它不会收到帖子。
如果我运行dd($tagIdArray)
,则会得到标签的id
。但是以下代码不起作用。如果我不使用$ trendtags或仅使用$ trendtags,它会起作用:
$trendtags = Taggable::take(3)
->with('tag')
->get();
但是如何找到最近48小时内使用最频繁的标签?
还有其他方法吗?
$trendtags = Taggable::whereDate('created_at', '>=', now()->subHours(48))
->groupBy('tag_id')
->orderByRaw('count(tag_id) DESC')
->take(3)
->with('tag')
->get();
$tagIdArray = $trendtags->pluck('id')->all();
$article = Article::with('comments', 'tags')
->whereIn('privacy', [1, 2])
->where('status', 1)
->whereHas('tags', function($query) use ($tagIdArray) {
$query->whereIn('id', $tagIdArray);
}, '>=', count($tagIdArray))
->latest()
->paginate(15);