欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

批量查询

最编程 2024-05-06 12:12:23
...
    • 批量查询
      • 1、功能:批量设置多个查询条件同时查询
      • 2、其本语法:
      • 3、实例演示:
        • 任务1:在tp5_staff表中,查询年龄大于50,并且工资大于9500元的员工信息
      • 4、总结:

批量查询

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

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  控制器代码:
<?php
namespace app\index\controller;
//导入数据库类
use think\Db;

class Index {
  public function index(){  

  //1.设置查询字段
  $field = [];
  $field['id'] = '编号';
  $field['name'] = '姓名';
  $field['salary'] = '工资';

  //2.设置查询条件
  $where = [];
  $where['age'] = ['>',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”条件,请同学们自己完成。

上一篇: Servlet 框架

下一篇: