Laravel如何根据不同参数进行orm编写(包含分页)

const limit = 6;//设置一个常量

$taskId = $request->task_id;
$type = $request->type;
$map['task_id'] = $taskId;
$map['finished'] = 2;
$isAll = $request->is_all ? $request->is_all: 0;
$limit =  $request->limit ? $request->limit : self::limit;
$data
= UserHomeworks::where($map)
   ->when($type == 2  , function ($query) use ($type) {//            未复读
       return $query->where('status',0);
   })
   ->select('id','finished_time')
   ->orderBy('created_at', 'desc')
   ->with('hasOne')   //这部是为了之后循环的时候不每一次都查库,渴求式加载
   ->when($isAll == 1 , function ($query) use ($isAll) {//              没有分页
       return $query->get();
   })
   ->when($isAll != 1 , function ($query) use ($isAll,$limit) {//              有分页
       return $query->paginate($limit);
   });


博客
请先登录后发表评论
  • 最新评论
  • 总共0条评论