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

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

创新互联建站主要为客户提供服务项目涵盖了网页视觉设计、VI标志设计、营销型网站建设、网站程序开发、HTML5响应式成都网站建设成都做手机网站、微商城、网站托管及成都网站维护、WEB系统开发、域名注册、国内外服务器租用、视频、平面设计、SEO优化排名。设计、前端、后端三个建站步骤的完善服务体系。一人跟踪测试的建站服务标准。已经为成都展览展示行业客户提供了网站开发服务。

<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]);
}

当前标题:关于搜索功能的实现原理(laravel框架)
网页路径:https://www.cdcxhl.com/article22/gdpgcc.html

成都网站建设公司_创新互联,为您提供面包屑导航定制网站移动网站建设标签优化网站内链

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站建设网站维护公司