您现在的位置是:首页 > 文章详情

关于搜索功能的实现原理(laravel框架)

日期:2017-08-22点击:495

这里的搜索功能主要基于表单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]); }


原文链接:https://blog.51cto.com/kangjunfei/1958240
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章