老莫的笔记本  
  
查看: 1238|回复: 1

多条件查询技巧 与模糊查询

[复制链接]

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
发表于 2018-9-3 23:52:57 | 显示全部楼层 |阅读模式
本帖最后由 周大胖子 于 2018-9-4 22:34 编辑
  1. // 页码
  2.         $page = $request->param('page');
  3.         // 每页条数
  4.         $limit = $request->param('limit');
  5.         // limit 初始条数
  6.         $binLimit = ($page-1)*$limit;
  7.         // 搜索条件
  8.         $gid = $request->param('gid');
  9.         $status = $request->param('status');
  10.         $truename = $request->param('truename');
  11.         $username = $request->param('username');
  12.         $lmsc=array();
  13.         $gid && $lmsc['gid'] = ['=',$gid];
  14.         $status && $lmsc['status'] = ['=',$status];
  15.         $username && $lmsc['username'] = ['=',$username];
  16.    
  17.         
  18.         // $gid && array_push($lmsc,'gid'=>['=',$gid]);  这句话是错的
  19.         // 拼凑条件
  20.         $where = function ($query) use($gid,$status,$truename,$username,$lmsc){
  21.             $query->where($lmsc);
  22.         };
  23.         // 获取总页数   总条数数/每页条数  判断%  在这里利用 ceil 运算符
  24.         // $count =  ceil(count(Admins::all())/$limit); 这是页码数 但是 layui返回的是条数
  25.         $count = count(Admins::all($where));
  26.         // 获取分页信息
  27.         $list = Admins::order('gid asc,add_time desc')->limit($binLimit,$limit)->select($where);
  28.         exit(  json(0,'加载成功',$count, $list) );
复制代码
依照老莫我目前粗浅的见识,多条件查询的原理 就是1.先接收条件;
2.判断是否有值;
3.搞个空数组用来存放搜索条件 where;
4.有值就存出来,存到这个数组里;

参考文献:https://blog.csdn.net/haibo0668/article/details/78203170







回复

使用道具 举报

662

主题

878

帖子

5145

积分

超级版主

Rank: 8Rank: 8

积分
5145
 楼主| 发表于 2018-9-4 22:35:47 | 显示全部楼层
模糊搜索
  1. $truename && $lmsc['truename'] = ['like',"%".$truename."%"];
复制代码
老莫同志在此粗略的认为,这就是在拼字符串 拼两个%  或者 多个 %  而,%号的位置 就是模糊所在的位置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表