一、前言

这个问题也是老生常谈了。顶部搜索好做,分页也好做,但是带着条件分页就不太好做。也是博主自己看文档不仔细。后面仔细看文档,发现了laravel 5.5 本身就提供了这样一个方法。

文档位置:Laravel 的分页功能

二、条件分页的实现

博主本来是用post的方式传递条件查询的。但是在laravel自带的分页中,点击分页执行的是get请求,会把分页的页码page直接显示在地址栏。所以用post传递查询条件不太好,因此改为get表单提交顶部条件。

1、获取条件

 $test= $request->input('test','');$test1= $request->input('test1','-1');

这里大家平时接收参数,大多数只是单纯的接收参数。我们这里由于是带的顶部搜索,所以在获取不到搜索值的情况下,应该给一个默认的参数。通过判断来确定到底是简单的展示页面还是带有查询条件的展示页面。

2、拼接sql

$sql = DB::table('test');if($test){$sql = $sql->where('test', '=', $test);}if($test1>-1){$sql = $sql->where('test1', '=', $test1);}$arr = $sql->orderBy('created_at', 'desc')->paginate(10);

这部分就是判断获取的参数,在没有搜索条件的时候是不会影响正常查询的。

3、附加参数到分页链接中(视图传参)

//你可以使用 appends 方法将查询参数附加到分页链接中。
//例如,要将 sort=votes 附加到每个分页链接,可以这样调用 appends 方法:
{{ $users->appends(['sort' => 'votes'])->links() }}

这部分是laravel官方给出的方法,我们可以在展示的时候,把参数传递进去。

4、附加参数到分页链接中(控制器传参)

//这部分是在控制器中,把参数添加进去。添加完成之后就可以了$arr->appends($request->input());

这里的$request->inpuit()就是我们获取到的所有参数的合集。通过控制器传递参数,视图页只需要正常显示分页即可。{!! $arr->render()!!}

以上就是laravel5.5中带有条件的顶部搜索。文档是个好东西。

end

laravel 5.5 顶部带条件分页查询相关推荐

  1. springboot+thymeleaf+pageHelper带条件分页查询

    html层 <div><a class="num"><b th:text="'共 '+ ${result.resultMap['pages' ...

  2. springboot集成mybatis-plus分页查询+条件分页查询

    如题: mybatis-plus整合了很多我们无需重复操作的功能,直接使用即可,下面举出两个分页的例子. 1.默认无条件分页查询 public abstract IService<T> g ...

  3. thinkphp5带条件分页

    一.问题 ThinkPHP5 由于分页引擎和之前的版本完全是重构了,今天在用分页的时候突然发现,之前很简便的带条件分页竟然不好用了. 之前只要是get传递的参数,在分页之后在 ?page=x 参数的补 ...

  4. SpringBoot-07:SpringBoot整合PageHelper做多条件分页查询

    ------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- 本篇博客讲述如何在SpringBoot中整合PageHelper,如何实现带多个条件,以及PageInfo中的 ...

  5. SSM整合 - 多条件分页查询

    多条件分页查询 - PageHelper 目录 多条件分页查询 - PageHelper 1. Maven配置插件 2. 准备数据库信息 3. 准备实体类 4. 封装结果类 5. 封装查询类 6. 在 ...

  6. JPA分页查询与条件分页查询

    情有独钟的JPA 平时在写一些小项目时,比较喜欢引用 Spring Data Jpa,其实还是图他写代码快~ 在日常的开发工作中,分页列表查询基本是随处可见,下面一起看一下如何使用 jpa 进行多条件 ...

  7. 分页条件查询_mongodb多条件分页查询的三种方法

    自我推荐 一.使用limit和skip进行分页查询 public List<User> pageList(int pageNum ,int pageSize){List<User&g ...

  8. java easyui条件组合查询_EasyUi+Spring Data 实现按条件分页查询

    Spring data 介绍 Spring data 出现目的 为了简化.统一 持久层 各种实现技术 API ,所以 spring data 提供一套标准 API 和 不同持久层整合技术实现 . 自己 ...

  9. 使用mybatis-plus基于BaseMapper的Page对象按条件分页查询

    概述 在页面功能中经常会使用到分页对象,mybatis-plus中也为我们提供了分页操作对象Page 分页方法 需要注意的是Page对象接收当前页和当前页显示条数两个参数 //currentPage是 ...

最新文章

  1. nullptr was not declared怎么解决_剑桥少儿英语考试语法怎么学?一套《Grammer Friends和语法做朋友》:这样学语法,孩子学得会、记得住!...
  2. java 构造器 血药主题_java中的构造器
  3. python 编程一日一练-「每日一练」巧用python生成随机数
  4. Eclipse打JAR包引用的第三方JAR包找不到 问题解决
  5. python绘制动态图表怎么存下来_做动态图表,没有数据?用Python就能获取!
  6. python海龟绘图画圣诞帽男人_python海龟绘图实例教程
  7. Qtopia-2.2.0启动脚本
  8. vuetify中文文档_我们为什么选择Vuetify作为前端框架
  9. Kylin 对维度表的的要求
  10. Apache日志不记录图片文件设置方法
  11. AD20软件安装详细教程
  12. BP神经网络预测matlab程序销售量预测
  13. 计算机三级信息安全技术考什么?计算机三级有必要考吗?
  14. SOA介绍--什么是SOA?[转载]
  15. Oracle 后台进程详解
  16. java面向对象数组实现家庭收支记账软件_golang实战--家庭收支记账软件(面向过程)...
  17. kali Linux桌面环境切换
  18. java 中的radix_Java Scanner radix()用法及代码示例
  19. vue 搜索框添加历史搜索记录
  20. 图像处理的Dither和Banding

热门文章

  1. mvc html的扩展,关于asp.net mvc 3:Razor无法正确呈现HtmlHelper扩展方法
  2. selenium.common.exceptions.SessionNotCreatedException
  3. win 安装Polygon
  4. pyqt qscrollarea 设置滚动位置
  5. win10子系统ubuntu root用户
  6. Pytorch自定义Loss
  7. ECCV18 Oral | MIT谷歌视频运动放大让计算机辅助人眼“明察秋毫”
  8. module compiled against API version 0xb but this version of numpy is 0xa
  9. python去除扩展名
  10. android 常见异常解决