网络编程
位置:首页>> 网络编程>> php编程>> laravel框架关于搜索功能的实现

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

作者:kangjunfei  发布时间:2024-05-03 15:27:54 

标签: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>
     <!--查询关键词-->
     <td><input type="text" name="keywords" placeholder="文章标题"></td>
     <td><input 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]);
}

来源:http://blog.51cto.com/kangjunfei/1958240

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com