Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 按天分组和排序_Php_Mysql_Laravel_Eloquent - Fatal编程技术网

Php 按天分组和排序

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

我想每天用雄辩的语言对帖子进行分组

SQL表如下所示

+----+-------+------+------------+------------+
| 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我想我可以这样做,我来试试你的建议。