批量查询

批量查询

批量查询,我们之前其实也用到过,就是把查询条件全部打包到一个数组中

1、功能:批量设置多个查询条件同时查询

2、其本语法:

  • 将查询表达式写在where方法中
Db::table('表名') ->where([ '字段1' => ['表达式1','条件1'], '字段1' => ['表达式1','条件1'], , ······ ]) ->select();
  • 条件较多时,事先打包到一个条件数组中,在where方法中直接引用
//1.创建查询条件数组 $map = []; $map['字段1' ] = ['表达式1','条件1']; $map['字段2' ] = ['表达式2','条件2']; $map['字段3' ] = ['表达式3','条件3']; //2.执行查询 Db::table('表名') ->where($map) -> select();

3、实例演示:

任务1:在tp5_staff表中,查询年龄大于50,并且工资大于9500元的员工信息

本例很简单,但会用到很多较复杂的语法,请留意

  • Index.php 控制器代码:
',50]; $where['salary'] = ['>',9500]; //3.执行查询 $result = Db::table('tp5_staff') -> field($field) -> where($where)->select(); //4.输出结果 dump($result); } }
  • 运行结果:
array(3) { [0] => array(3) { ["编号"] => int(1023) ["姓名"] => string(9) "段王爷" ["工资"] => float(9560) } [1] => array(3) { ["编号"] => int(1028) ["姓名"] => string(6) "方方" ["工资"] => float(9877) } [2] => array(3) { ["编号"] => int(1006) ["姓名"] => string(9) "西门庆" ["工资"] => float(19801) } }
  • 生成SQL语句:
SELECT `id` AS `编号`,`name` AS `姓名`,`salary` AS `工资` FROM `tp5_staff` WHERE `age` > 50 AND `salary` > 9500

4、总结:

批量设置还可以设置“OR”条件,请同学们自己完成。