软件开发|编程技术|编程代码|编程入门先学什么—程序设计语言

laravel框架关于搜索功能的实现

本文是作者整理的关于laravel框架搜索功能的实现原理,并附上了详细代码,有需要的小伙伴请持续关注!

这里的搜索功能主要基于表单get提交实现的

form action="/backend/auditList" method="get"  table class="search_tab"    tr      th width="120"选择分类:/th      td        select name="class"           option value=""全部/option          @foreach($category as $c)            option value="{{$c-id}}"{{$c-class_name}}/option          @endforeach        /select      /td      th width="70"文章标题:/th      !--查询关键词--      tdinput type="text" name="keywords" placeholder="文章标题"/td      tdinput type="submit" name="sub" value="查询"/td    /tr  /table/form

php部分逻辑

public function article_list(){  //echo 'zoule';exit; 测试表单是否走进方法中 大家随意写  $shownum = 1;  if(array_key_exists('class',$_GET)||array_key_exists('keywords',$_GET)){   //echo '111';    if($_GET['class']){   //Article模型 leftJoin表连接 查询根据俩个表里的这些字段来执行     $postdata = Article::leftJoin('category', function($join) {      $join-on('article.class_id', '=', 'category.id');     })-select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])-where('article.class_id','=',$_GET['class'])-orderBy('release_time','desc')-paginate($shownum);   }elseif($_GET['keywords']){     $postdata = Article::leftJoin('category', function($join) {      $join-on('article.class_id', '=', 'category.id');     })-select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])-where('article.title_editing','=',$_GET['keywords'])-orderBy('release_time','desc')-paginate($shownum);       }else{     $postdata = Article::leftJoin('category', function($join) {      $join-on('article.class_id', '=', 'category.id');     })-select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])-orderBy('release_time','desc')-paginate($shownum);   }  }else{   //echo '2222';   $postdata = Article::leftJoin('category', function($join) {     $join-on('article.class_id', '=', 'category.id');   })-select(['article.id','category.class_name','article.status','article.title_editing','article.update_time'])-orderBy('release_time','desc')-paginate($shownum);  }  //分类id不是父id  $category = DB::table('category')-where('parent_id','!=','0')-get();  //渲染页面 传递 参数  return view('backend.article_list',['postdata'=$postdata,'shownum'=$shownum,'category'=$category]);}