thinkphp按照group by分頁
// 分頁參數設置
$page = isset($post['page']) ? max(1, intval($post['page'])) : 1;
$pageSize = isset($post['page_size']) ? max(1, intval($post['page_size'])) : 10;
$offset = ($page - 1) * $pageSize;
// 獲取列表按照訂單號分頁,先查出每頁page_size個訂單號
$list_order = $Model
->where(['uid' => $info['id']])
->group('order_id')
->order('id', 'desc')
->limit($offset, $pageSize)
->column('order_id');
// 獲取這些訂單號對應的所有記錄
$list = $Model
->where(['uid' => $info['id']])
->whereIn('order_id', $list_order)
->order('id', 'desc')
->select();
// 獲取訂單號總數(用于分頁)
$total = $Model
->where(['id' => $info['id']])
->group('order_id')
->count();
// 返回前端的分頁信息
$pagination = [
'total' => $total,//總條數
'current_page' => $page,//當前頁
'page_size' => $pageSize,//每頁條數
'total_pages' => ceil($total / $pageSize)//總共多少頁
];
每天進步一點點

浙公網安備 33010602011771號