前言:
现在姐妹们对“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链式查询