服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - laravel框架关于搜索功能的实现

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

2019-10-17 11:13kangjunfei PHP教程

本文是作者整理的关于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]);
}

 

延伸 · 阅读

精彩推荐
  • PHP教程PHP addcslashes()函数讲解

    PHP addcslashes()函数讲解

    今天小编就为大家分享一篇关于PHP addcslashes()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看...

    php参考手册4552019-06-19
  • PHP教程Laravel利用gulp如何构建前端资源详解

    Laravel利用gulp如何构建前端资源详解

    Gulp 是一个自动化工具,前端开发者可以使用它来处理常见任务,下面这篇文章主要给大家介绍了关于Laravel利用gulp如何构建前端资源的相关资料,文中通过...

    小谈4922019-09-29
  • PHP教程PHP fopen函数用法实例讲解

    PHP fopen函数用法实例讲解

    我们在本篇内容中给读者们整理了关于PHP fopen函数的详细用法和实例内容,有需要的学习下。...

    laozhang4762019-06-14
  • PHP教程10个免费的PHP编辑器/开发工具推荐

    10个免费的PHP编辑器/开发工具推荐

    一个好的编辑器或开发工具,能够极大提高我们的开发效率。下面介绍10个免费、强大的PHP编辑器/开发工具。这些编辑器拥有调试器、增量执行PHP脚本、查...

    博客园4772019-06-03
  • PHP教程PHP去除空数组且数组键名重置的讲解

    PHP去除空数组且数组键名重置的讲解

    今天小编就为大家分享一篇关于PHP去除空数组且数组键名重置的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟...

    炫酷飞扬3032019-06-07
  • PHP教程php微信开发之音乐回复功能

    php微信开发之音乐回复功能

    这篇文章主要为大家详细介绍了php微信开发之音乐回复功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 ...

    qiphon36501732019-09-25
  • PHP教程PHP排序算法之归并排序(Merging Sort)实例详解

    PHP排序算法之归并排序(Merging Sort)实例详解

    这篇文章主要介绍了PHP排序算法之归并排序(Merging Sort),结合实例形式详细分析了php归并排序的原理、定义、使用方法及相关操作注意事项,需要的朋友可以参...

    LSGOZJ3162019-10-11
  • PHP教程PHP7基于curl实现的上传图片功能

    PHP7基于curl实现的上传图片功能

    这篇文章主要介绍了PHP7基于curl实现的上传图片功能,结合实例形式对比分析了php5.5之前与php7版本的curl图片上传功能相关实现与使用技巧,需要的朋友可以参...

    BroceHui1462019-10-08