Php 按天分组和排序
我想每天用雄辩的语言对帖子进行分组 SQL表如下所示Php 按天分组和排序,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我想每天用雄辩的语言对帖子进行分组 SQL表如下所示 +----+-------+------+------------+------------+ | id | title | slug | created_at | updated_at | +----+-------+------+------------+------------+ 如果我使用这个代码 $links = Post::select(DB::raw('DAY(created_at) day, COUNT(*) post_co
+----+-------+------+------------+------------+
| id | title | slug | created_at | updated_at |
+----+-------+------+------------+------------+
如果我使用这个代码
$links = Post::select(DB::raw('DAY(created_at) day, COUNT(*) post_count'))
->groupBy('day')
->orderBy('day', 'desc')
->get()
我得到的输出如下图所示,但它只显示每天的帖子数量,而不是单独的帖子数量
因此,我如何才能按天获取每个帖子组。您应该调用集合的
groupBy
方法查看结果:
$links = Post::selectRaw('DAY(created_at) day')->latest('day')->get();
$links = $links->groupBy('day');
你真的应该选择所有按天排序的帖子,然后在你自己的代码中进行分组-数据库服务器被设计为返回行,而不是多组行(
groupby
用于创建聚合行,而不是在结果中创建子组)。@Amber我想我可以这样做,我来试试你的建议。