laravel中$request的一些用法
https://blog.csdn.net/hugejihu9/article/details/85335993
新建BaseModel.php文件,代码如下。
<?php
namespace App\Http\Model;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Pagination\Paginator;
class BaseModel extends Model{
public $timestamps = false;
//重写分页方法,使其更加匹配API的规范
//考虑到性能问题,通常$columns我们不以*号为值。可传入需要查询的字段替代。这里只做演示。无此要求
public function paginate($perPage = null, $columns = ['*'], $page = null, $pageName = 'page'){
$page = $page ?: Paginator::resolveCurrentPage($pageName);
$perPage = $perPage ?: $this->model->getPerPage();
$results = ($total = $this->toBase()->getCountForPagination())
? $this->forPage($page, $perPage)->get($columns)
: $this->model->newCollection();
$pages = ceil($total / $perPage);
$result = ['total'=>$total,'current_page'=>$page,'page_size'=>$perPage,'pages'=>$pages,'list'=>$results];
return $result;
}
}
第二步:
<?php
namespace App\Http\Model;
class MsgBoard extends BaseModel{
protected $table = 'msg_board';
public function getMsgPageList($page,$pageSize){
return $this->paginate($pageSize, ['*'], $page, 'page');
}
}
第三步:
$page = $request->input('page',1);
$pageSize = $request->input('pageSize',12);
$msgList = $mMsgBoard->getMsgPageList($page,$pageSize);
第二种方法 没有信偿试:
use Illuminate\Database\Eloquent\Builder;
//把分页应该放到查询里
public function paginate(Builder $query, $page = 1, $perpage = 10, $load = ''){
$skip = ($page - 1)*$perpage;
$count = $query->count('*');
$totalPage = $count == 0 ? 0 : (int)ceil($count / $perpage);
if($load === ''){
$list = $query->skip($skip)->take($perpage)->get()->toArray();
}else{
$list = $query->skip($skip)->take($perpage)->get()->load($load)->toArray();
}
return [
'data'=>$list,
'total'=>$count,
'totalPage'=>$totalPage,
];
}
public function list(Request $req){
...
$data = $this->paginate(User::select('*'),$req->page1,$req->perpage);
...
}
Laravel 速查表 Pagination
https://blog.csdn.net/kld230/article/details/91351186?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param