1. 基本查询

1.1 查询多笔数据 select()

1.1.1 select()

控制器:

  1. <?php
  2. // 使用 select 查询数据多笔数据
  3. public function fun1()
  4. {
  5. return json(Db::table('user')->where('IDENTITY','FA100')->select());
  6. }

浏览器查看:
image.png

1.1.2 selectOrFail()

如果希望在没有查找到数据后抛出异常可以使用 selectOrFail()

控制器:

  1. <?php
  2. // selectOrFail
  3. public function fun2()
  4. {
  5. return json(Db::table('user')->where('IDENTITY','FA10s')->selectOrFail());
  6. }

浏览器查看:
image.png

1.2 查询单笔数据 find()

1.2.1 find()

默认会 limit 1 ,所以就算不加任何限定条件也是查询体条数据

控制器:

  1. <?php
  2. // 查询单笔数据
  3. public function fun3()
  4. {
  5. return json(Db::table('user')->where('IDENTITY','FA100')->find());
  6. }

postman 测试:
image.png

1.2.2 findOrFail()

查不到数据,出了问题报异常报错

控制器:

  1. <?php
  2. // 查询单笔数据,出问题,抛出异常
  3. public function fun4()
  4. {
  5. return json(Db::table('user')->where('IDENTITY','FA10')->findOrFail());
  6. }

postman 查看:
image.png

1.2.1 findOrEmpty()

查不到数据,返回空数组

控制器:

  1. <?php
  2. // 查询单笔数据,查不到数据,返回空数组
  3. public function fun5()
  4. {
  5. return json(Db::table('user')->where('IDENTITY','FA10')->findOrEmpty());
  6. }

postman 查看:
image.png

1.3 使用助手函数

控制器:

  1. <?php
  2. // 助手函数-1
  3. public function fun6()
  4. {
  5. return json(db('user')->where('USERNAME', 'W10000001') ->findOrEmpty());
  6. }
  7. // 助手函数-2
  8. public function fun7()
  9. {
  10. $data = db('user','db_config1')->where('IDENTITY', 'FA100')->select();
  11. return json($data);
  12. }

fun7:
image.png

fun8:
image.png


2. 值和列查询

2.1 查询某个字段 value()

value 方法查询结果不存在,返回 null

控制器:

  1. <?php
  2. /**
  3. * 列字段的查询
  4. */
  5. // 查询某一个字段可以使用 value
  6. public function fun8()
  7. {
  8. // 返回某个字段的值
  9. return Db::table('wh_build')
  10. ->where('IDX', '=', 14)
  11. ->value('BUILDNAME');
  12. }

结果:
image.png

2.2 查询多个字段 column

column 查询结果不存在,返回空数组

2.2.1 column() 查询所需要的字段

控制器:

  1. <?php
  2. // 查询多个字段使用 column
  3. public function fun9()
  4. {
  5. $data = DB::table('logs')
  6. ->where('OPERATION', '=', 'SELECT')
  7. ->column('IP, USER, TIME');
  8. return json($data);
  9. }

结果:
image.png

2.2.2 可以设置某个字段作为 索引

  1. <?php
  2. // 查询多个字段 column id 作为索引
  3. public function fun10()
  4. {
  5. $data = DB::table('logs')
  6. ->where([
  7. 'OPERATION' => 'SELECT',
  8. 'USER' => 'W18001643'
  9. ])
  10. ->column('USER, TIME','IP');
  11. return json($data);
  12. }

效果:
image.png

2.2.3 所有字段,设置其中一个字段作为 索引

控制器:

  1. <?php
  2. // 查询所有字段 idx 作为索引
  3. public function fun11()
  4. {
  5. $data = DB::table('logs')
  6. ->where([
  7. 'OPERATION' => 'SELECT',
  8. 'USER' => 'W18001643'
  9. ])
  10. ->column('*','IDX');
  11. return json($data);
  12. }

效果:
image.png


3. 数据分批处理

使用 chunck() 方法处理


4. 大批量数据处理

使用 cursor 方法处理