美好的一天。
我对yii2相对较新。
我在尝试的是这种SQL查询:
SELECT * FROM table WHERE a=1 AND (b=1 OR b=2)
如何通过yii2查询构建器编写此类查询?
答案 0 :(得分:1)
您需要使用orWhere()
,andWhere()
和where()
功能。
"or"
和"and"
字是它与之前所有where
条件的联合类型
所以,这个查询:
Table::find()->where('b=1')->orWhere('b=2')->andWhere('a=1')->all();
做这样的事情:
select * from Table where (((b=1) or b=2) and a=1)
all()
函数告诉yii2选择al记录其创建成果
注意:此代码不起作用,仅仅是示例。
答案 1 :(得分:-1)
这可以这样做:
$model = User::find()
->where('a = :a', [':a' => 1])
->andWhere('b = :b1 or b = :b2', [':b1' => 1, ':b2'=> 2])
->all();