gpt4 book ai didi

php - Laravel - 按出现次数获得前 5 名

转载 作者:行者123 更新时间:2023-11-29 01:27:14 26 4
gpt4 key购买 nike

我有表评论、投票、观点、点赞,其中有 article_id 字段。我试图从这些表中获取前 5 篇文章,按它们出现的次数。我将 $modelName 发送到我的函数,然后尝试从查询中获取结果。这就是我的查询现在的样子:

private function query($modelName) {
$mostSomethingArticle = $modelName->all()->groupBy('article_id')->take(5);

return $mostSomethingArticle;

}

现在,我得到了这样的结果:

Collection {#398 ▼
#items: array:5 [▼
5 => Collection {#377 ▼
#items: array:5 [▶]
}
2 => Collection {#376 ▼
#items: array:1 [▶]
}
6 => Collection {#397 ▼
#items: array:3 [▶]
}
1 => Collection {#396 ▼
#items: array:1 [▶]
}
7 => Collection {#395 ▼
#items: array:5 [▶]
}
]
}

我想知道如何进行查询,以获取前 5 个结果,其中出现次数按 'desc' 顺序排列。

最佳答案

如果将来有人需要,我将发布我的解决方法,而不是传递 $modelName,我决定从 $request 获取表的名称,然后执行类似的查询这个:

$result = DB::table($request['option'])
->select(DB::raw('article_id'), DB::raw('count(*) as count'))
->groupBy('article_id')
->orderBy('count', 'desc')
->take(5)
->get();

关于php - Laravel - 按出现次数获得前 5 名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37407670/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com