龙空技术网

thinkphp6链式查询方法15

App定制开发外包 289

前言:

现在姐妹们对“mysql链式查询”可能比较关怀,我们都需要分析一些“mysql链式查询”的相关内容。那么小编在网络上搜集了一些对于“mysql链式查询””的相关文章,希望小伙伴们能喜欢,你们快快来学习一下吧!

15. 链式查询方法.上

本节课我们来学习链式查询方法中的 where()、field()和 alias()。 一.where

1. 表达式查询,就是where()方法的基础查询方式;

3. 索引数组查询,通过数组里的数组拼装方式来查询;

4. 将复杂的数组组装后,通过变量传递,将增加可读性;

5. 字符串形式传递,简单粗暴的查询方式,whereRaw()支持复杂字符串格式; Db::name('user')->whereRaw('gender="男" AND price IN (60, 70, 80)')->select();

6. 如果SQL查询采用了预处理模式,比如id=:id,也能够支持; Db::name('user')->whereRaw('id=:id', ['id'=>19])->select();

二.field

1. 使用field()方法,可以指定要查询的字段;

2. 使用field()方法,给指定的字段设置别名; Db::name('user')->field('id,username as name')->select();

Db::name('user')->where('id', '>', 70)->select();

2. 关联数组查询,通过键值对来数组键值对匹配的查询方式;

$user = Db::name('user')->where([

'gender' => '男',

'price' => 100 //'price' => [60,70,80]

])->select();

$user = Db::name('user')->where([ ['gender', '=', '男'], ['price', '=', '100']

])->select();

$map[] = ['gender', '=', '男'];

$map[] = ['price', 'in', [60, 70, 80]];

$user = Db::name('user')->where($map)->select();

Db::name('user')->field('id, username, email')->select(); Db::name('user')->field(['id', 'username', 'email'])->select();

Db::name('user')->field(['id', 'username'=>'name'])->select();

3. 在fieldRaw()方法里,可以直接给字段设置MySQL函数;

4. 使用field(true)的布尔参数,可以显式的查询获取所有字段,而不是*;

Db::name('user')->field(true)->select();

5. 使用withoutField()方法中字段排除,可以屏蔽掉想要不显示的字段;

Db::name('user')->withoutField('details')->select();

6. 使用field()方法在新增时,验证字段的合法性;

Db::name('user')->field('username, email, details')->insert($data);

三.alias

1. 使用alias()方法,给数据库起一个别名;

Db::name('user')->alias('a')->select();

标签: #mysql链式查询