Yii2.0框架基础--数据查询之AR类方法where()

User::find()->where($condition)->one()/all();

where条件格式:

 //sql: (type = 1) AND (status = 2)
$condition = ['type' => 1,'status' =>2]

 //sql: (id IN (1,2,3)) AND (status = 2)
$condition = ['id' => [1,2,3],'status' =>2]

 //sql: status IS NULL
$condition = ['status' => null]
and: //sql: id = 1 AND id = 2
$condition = ['and','id=1','id=2']

//sql: type = 1 AND (id = 1 OR id = 2)
$condition = ['and','type=1',['or','id=1','id=2']]
or: //sql: (type IN (7,8,9) OR (id IN (1,2,3)))
$condition = ['or',['type' => [7,8,9]],['id' => [1,2,3]]]
not: //sql: NOT (attribute IS NULL)
$condition = ['not',['attribute' => null]]
between: not between用法相同
//sql: id BETWEEN 1 AND 10
$condition = ['between','id',1,10]
in: not in用法类似
//sql: id IN (1,2,3)
$condition = ['in','id',[1,2,3]]

//sql: IN条件也适用于多字段
$condition = ['in', ['id', 'name'], [['id' => 1, 'name' => 'foo'], ['id' => 2, 'name' => 'bar']]]

//也适用于内嵌sql语句
$condition = ['in', 'user_id', (new Query())->select('id')->from('users')->where(['active' => 1])]
like: //sql: name LIKE '%sample%'
$condition = ['like','name','sample']

//sql: name LIKE '%sample1%' AND name LIKE '%sample2%'
$condition = ['like','name',['sample1','sample2']]

//sql: name LIKE '%sample'
$condition = ['like','name','%sample',false]
exists: not exists用法类似
//sql: EXISTS (SELECT "id" FROM "user" WHERE "active" = 1)
$condition = ['exists',(new Query())->select('id')->from('user')->where(['active' => 1])]
注: //sql: id >= 10
$condition = ['>=','id',10]

//sql: id!=10
$condition = ['!=','id',10]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值