cakephp3.7 中的 orWhere 条件,因为在 3.7 orWhere 中已弃用
select * from Users where Users.state = 'UP' Or (Users.status =1 and Users.role=2)
cakephp3.7 中的 orWhere 条件,因为在 3.7 orWhere 中已弃用
select * from Users where Users.state = 'UP' Or (Users.status =1 and Users.role=2)
您可以使用嵌套数组语法中的任何一个OR
关键字(为了更好的可读性,可选关键字):AND
$query->where([
'OR' => [
'Users.state' => 'UP',
'AND' => [
'Users.status' => 1,
'Users.role' => 2
]
]
]);
或表达式:
$query->where(function (
\Cake\Database\Expression\QueryExpression $exp,
\Cake\ORM\Query $query
) {
return $exp->or_([
'Users.state' => 'UP',
$query->newExpr()->and_([
'Users.status' => 1,
'Users.role' => 2
])
]);
});
也可以看看