mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-09 01:27:20 +08:00
Query::filter() adjustments
This commit is contained in:
@ -906,6 +906,16 @@ class Query extends Component implements QueryInterface
|
||||
$operator = strtoupper($condition[0]);
|
||||
|
||||
switch ($operator) {
|
||||
case 'NOT':
|
||||
case 'AND':
|
||||
case 'OR':
|
||||
$subCondition = $this->filterCondition($condition[1]);
|
||||
if ($this->parameterNotEmpty($subCondition)) {
|
||||
$condition[1] = $subCondition;
|
||||
} else {
|
||||
$condition = [];
|
||||
}
|
||||
break;
|
||||
case 'IN':
|
||||
case 'NOT IN':
|
||||
case 'LIKE':
|
||||
@ -924,7 +934,7 @@ class Query extends Component implements QueryInterface
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
$condition = $this->filterConditionHash($condition);
|
||||
$condition = $this->filterHashCondition($condition);
|
||||
}
|
||||
return $condition;
|
||||
}
|
||||
|
||||
@ -109,7 +109,7 @@ trait QueryTrait
|
||||
* @param array $condition original condition
|
||||
* @return array condition with empty parameters removed
|
||||
*/
|
||||
protected function filterConditionHash($condition)
|
||||
protected function filterHashCondition($condition)
|
||||
{
|
||||
if (is_array($condition) && !isset($condition[0])) {
|
||||
// hash format: 'column1' => 'value1', 'column2' => 'value2', ...
|
||||
@ -126,7 +126,7 @@ trait QueryTrait
|
||||
*/
|
||||
protected function filterCondition($condition)
|
||||
{
|
||||
return $this->filterConditionHash($condition);
|
||||
return $this->filterHashCondition($condition);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user