par*_*oid 8 php group-by laravel eloquent laravel-5.2
我想groupBy()
使用 Laravel Eloquent 执行任务。我在互联网上搜索过,没有找到任何雄辩的东西。有些人使用 groupBy() 查询和查询生成器这样的链接
但我想创建这样的查询:
Task::select('id')->groupBy('category_id')->count();
Run Code Online (Sandbox Code Playgroud)
此代码仅返回 first 的计数category_id
。但我想计算所有category_id
.
Mar*_*ski 17
Native Collection 替代方案(按 php 分组,而不是 mysql)。当您已将 Collection 作为变量分配时,这是一个不错的选择。在大多数情况下,当然不如 mysql 分组优化。
$tasks->groupBy('category_id')->map->count();
Run Code Online (Sandbox Code Playgroud)
您应该将计数添加到 select 函数并使用 get 函数来执行查询。
Task::select('id', \DB::raw("count(id)"))->groupBy('category_id')->get();
Run Code Online (Sandbox Code Playgroud)
该\DB::raw()
函数确保将字符串插入到查询中,而 Laravel 不会修改其值。
归档时间: |
|
查看次数: |
18138 次 |
最近记录: |