问个laravel的问题,如何在paginate的column中加上min函数

情况是这样的我想去分组数据中某个字段最小的,然后分页组成列表

$column1 = ['id','worker_id','min(`in_time`) as min_time'];
$list = $list->groupBy('worker_id')->orderBy('in_time', 'asc')->paginate((int)$request['per_page'], $column1, 'current_page')->toArray();
"SQLSTATE[42S22]: Column not found: 1054 Unknown column 'min(in_time)' in 'field list'
select `id`,  `worker_id`, `min(in_time)` as `min_time` from `morning_check`  group by `worker_id` order by `check_time` asc

如何在paginate 选择字段里面如何用 min函数?

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

试试DB::raw('min(in_time) as min_time')

1年前 评论

这样试试呢?

$column1 = ['id', 'worker_id', \DB::raw('min(in_time) as min_time')];
$list = $list->groupBy('worker_id')->orderBy('in_time', 'asc')->paginate((int)$request['per_page'], $column1, 'current_page')->toArray();
1年前 评论

没能明白,paginate 就是单纯用来分页的,我并不喜欢在里面做一些奇怪的操作。我更习惯于在paginate 之前把要展示的数据提前处理好。

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!