【发布时间】:2018-08-26 12:45:40
【问题描述】:
我正在按月查询在 Laravel 中创建的用户,这是我的代码
$devlist = DB::table("users")
->select("id" ,DB::raw("(COUNT(*)) as month"))
->orderBy('created_at')
->groupBy(DB::raw("MONTH(created_at)"))
->get();
这是给我的
[{"id":1,"month":3},{"id":4,"month":4}]
我怎样才能输出月份而不是仅仅输出月份?所以我的预期结果是
[{"id":1,"january":3},{"id":4,"febuary":4}]
【问题讨论】:
-
月份标签是否实际存储在数据库中?
-
否,但 created_at 字段是包含月份的时间戳
-
当前结果没有意义——如果它的“groupBy”你会期望有一个嵌套的结果?它目前看起来很平坦。我希望看到类似
[{ "may": [{ "id":1, "month": 3 }, { "id":2, "month": 4 }] }] -
我不得不说,你的另一个问题被人们很好地回答了。你怎么又问这个问题了?另外,我不建议这样设置,因为那样数据不是很有用。也许应该是:
[{"id":1,"month":"january"},{"id":4,"month":"febuary"}] -
我的另一个问题得到了完美的回答,但是,这是一个关于输出月份名称的不同问题