Yii2 SQL查询分组或与AND

时间:2015-04-16 08:07:43

标签: php sql yii2

美好的一天。

我对yii2相对较新。

我在尝试的是这种SQL查询:

SELECT * FROM table WHERE a=1 AND (b=1 OR b=2)

如何通过yii2查询构建器编写此类查询?

2 个答案:

答案 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();