当前位置:首页 > CMS教程 > 其它CMS > 列表

Laravel实现ORM带条件搜索分页

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-17 10:11:23 浏览: 评论:0 

今天小编就为大家分享一篇Laravel实现ORM带条件搜索分页,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

Laravel条件搜索一般使用where方法,如下:

查询构造器:

$users = DB::table('users')->where('votes', '=', 100)->get();

或者ORM:

$users = User::where('votes', '=', 100)->all();

当有多个条件时,可以多次调用where方法:

$articles = Article::where('id','>','10')->where('is_auth','=','1')->where('id','=','14')->paginate(3)

所以,如果需要进行多条件搜索分页,我们可以这么写:

  1. public function index(Request $request
  2.   { 
  3.     //分类表数据 
  4.     $sorts = Sortart::all(); 
  5.     //文章表实例化 
  6.     $article = new Article; 
  7.     //搜索条件判断 
  8.     $where = $article
  9.     if($request->search_sid){ 
  10.       $where = $where->where('sort_id','=',$request->search_sid); 
  11.     } 
  12.     if($request->search_title){ 
  13.       $where = $where->where('title','like','%'.$request->search_title.'%'); 
  14.     } 
  15.     //分页搜索 
  16.     $articles = $where->paginate(3); 
  17.     //搜索条件保持 
  18.     $articles->sid = $request->search_sid; 
  19.     $articles->title = $request->search_title; 
  20.     //$articles = Article::where('id','>','10')->where('is_auth','=','1')->where('id','=','14')->paginate(3); 
  21.     //dd($articles); 
  22.     return view('admin.articles.index',compact('articles','sorts')); 
  23.   } 

在页面中,使用url保持分页条件的方法:

{!! $articles->appends(['search_sid'=>$articles->sid, 'search_title'=>$articles->title])->render() !!}

效果如图:

Laravel搜索分页 ORM

Tags: Laravel搜索分页 ORM

分享到: