【发布时间】:2016-10-02 16:48:17
【问题描述】:
我将按 orderBy 对选定的列进行分组,而不是 cars.name 中的最后 3 个字符。
$objects_collection = $objects_collection
->groupBy("cars.name", "parts.part_catalog_id", "parts.colour_id")
->select($this->getProperTableName(str_plural($this->getRoute())) . ".*", DB::raw("count(*) as quantity"))
->paginate($paginate);
我应该怎么做?
编辑:
解决方案是:
$objects_collection = $objects_collection
->groupBy(DB::raw("SUBSTRING_INDEX(cars.name, '/', 1)"), "parts.part_catalog_id", "parts.colour_id")
->select($this->getProperTableName(str_plural($this->getRoute())) . ".*", DB::raw("count(*) as quantity"))
->paginate($paginate);
【问题讨论】:
-
不确定你在做什么,但是 groupBy 可以有回调 laravel.com/docs/master/collections#method-groupby
-
这项工作在收集,但我想在对数据库的请求中这样做
标签: mysql laravel laravel-5 eloquent