yii2查询条件where的基础写法

 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 generate name LIKE '%tester%'
  • or like
  • or not like
  • exists 第一个操作数是一个子查询。
  • 其它操作码,比如['>=', 'id', 10]将会产生,id>=10


文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 46650