问个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函数?

《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

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

3个月前 评论

这样试试呢?

$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();
3个月前 评论

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

3个月前 评论

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