when($params['status'], function (Builder $query) use ($params) { return $query->where("status", $params['status']); })->when($params['name'], function (Builder $query) use ($params) { return $query->where("name", "like", "%{$params['name']}%"); })->orderByDesc("id")->paginate($params['page_size']); return [ "total" => $p->total(), "page_total" => $p->lastPage(), "list" => array_map(function (Order $model) { /** @var OrderGoods $firstGoods */ $firstGoods = $model->goods->first(); return [ "id" => $model->id, "no" => $model->goods->pluck("sn")->implode("\sn"), "goods_name" => "", "goods_sn" => "商品型号", "user_id" => 123, "thumb" => $model->goods->first(), "email" => "user@example.com", "created_at" => "2023-05-05 15:44:14", ]; }, $p->items()), ]; } }