yii2查询条件where的基础写法
作者:admin 日期:2015-09-24
yii2提供了很强大的sql构造工具类。基于sql查询主要与的是查询条件,所以我简单的翻译了一下yii2中where子句的写法。
如果是数组,有两种格式:
- hash表格式:
['列1' => '值1', '列2' => '值2', ...]
- 操作码模式:
[操作码, 操作数1, 操作数2]
hash表格式
通常会产生column1=value1 AND column2=value2 AND ...
。如果值是一个数组,会产生一个in
表达式。如果值是null
, 会产生一个is null
。
操作码格式
将根据操作码产生SQL表达式。表达式可以是如下:
- and 所有的操作数表达式全部用
and
连接 - or 同上,所有操作数用
or
连接 - not 只接受一个操作数
- between
['between', 'id', 1, 10]
将会产生id BETWEEN 1 AND 10
- not between 同上
- in 第一个操作数是列名,第二个是一个数组或是一个数据库表达式。
- not in 同上
- like 第一个操作数是一个列名或一个数据库表达式,第二个操作数是like的表达式。如
['like', 'name', 'tester']
will generatename LIKE '%tester%'
。 - or like
- or not like
- exists 第一个操作数是一个子查询。
- 其它操作码,比如
['>=', 'id', 10]
将会产生,id>=10
评论: 0 | 查看次数: 47022