Yii2 - 在查询生成器中创建 'AND (condition1 OR condition2)'
Yii2 - Creating 'AND (condition1 OR condition2)' in Query Builder
这是我指定的查询:
SELECT * FROM `post` WHERE `category`='2' AND (`a` > 100 OR `b` > 200)
我可以使用以下代码:
$query->andWhere('a>100 OR b>200');
但我想像这样充分使用 QueryBuilder:
$query->andWhere([
$query->orWhere('>', 'a', 100),
$query->orWhere('>', 'b', 200)
]);
这种事情可能吗?
$query
->where(['and', 'category = :category', ['or', 'a > :a', 'b > :b']])
->addParams([
':category' => 2,
':a' => 100,
':b' => 200
]);
这是我指定的查询:
SELECT * FROM `post` WHERE `category`='2' AND (`a` > 100 OR `b` > 200)
我可以使用以下代码:
$query->andWhere('a>100 OR b>200');
但我想像这样充分使用 QueryBuilder:
$query->andWhere([
$query->orWhere('>', 'a', 100),
$query->orWhere('>', 'b', 200)
]);
这种事情可能吗?
$query
->where(['and', 'category = :category', ['or', 'a > :a', 'b > :b']])
->addParams([
':category' => 2,
':a' => 100,
':b' => 200
]);