如例,表user_has_cards設計如下
欄位 | 說明 |
---|---|
id | 自增 |
user_id | 使用者id |
card_id | 字卡id |
number | 字卡數量 |
需顯示使用者列表
groupBy
查詢下,常規的paginate
函式也無法使用
自己的解決方法記錄如下
use Illuminate\Pagination\LengthAwarePaginator;
use Illuminate\Support\Facades\DB;
use App\Models\UserHasCard;
...
$page = 1;//當前頁
$pageSize = 10;
$model = UserHasCard::groupBy('user_id');
$count = DB::table($model)->count();
$data = $model->limit($pageSize)->offset(($page-1)*$pageSize)->get();
$list = new LengthAwarePaginator($data,$count,$pageSize,$page);
...
舉例比較隨意,請不要在意。重點在於groupBy查詢的分頁處理
本作品採用《CC 協議》,轉載必須註明作者和本文連結