Browse Source

Fix #18821: Additional type fixes (#19217)

tags/2.0.45
Alexander Makarov 3 years ago committed by GitHub
parent
commit
9fbdc9f01b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 13
      framework/db/conditions/InConditionBuilder.php
  2. 6
      framework/db/mssql/conditions/InConditionBuilder.php
  3. 6
      framework/db/sqlite/conditions/InConditionBuilder.php

13
framework/db/conditions/InConditionBuilder.php

@ -7,6 +7,7 @@
namespace yii\db\conditions; namespace yii\db\conditions;
use yii\db\Expression;
use yii\db\ExpressionBuilderInterface; use yii\db\ExpressionBuilderInterface;
use yii\db\ExpressionBuilderTrait; use yii\db\ExpressionBuilderTrait;
use yii\db\ExpressionInterface; use yii\db\ExpressionInterface;
@ -66,7 +67,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
$column = $column->current(); $column = $column->current();
} }
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
@ -128,7 +129,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
$column = $column->current(); $column = $column->current();
} }
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
@ -163,7 +164,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
if (is_array($columns)) { if (is_array($columns)) {
foreach ($columns as $i => $col) { foreach ($columns as $i => $col) {
if ($col instanceof ExpressionInterface) { if ($col instanceof Expression) {
$col = $col->expression; $col = $col->expression;
} }
if (strpos($col, '(') === false) { if (strpos($col, '(') === false) {
@ -174,7 +175,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
return '(' . implode(', ', $columns) . ") $operator $sql"; return '(' . implode(', ', $columns) . ") $operator $sql";
} }
if ($columns instanceof ExpressionInterface) { if ($columns instanceof Expression) {
$columns = $columns->expression; $columns = $columns->expression;
} }
if (strpos($columns, '(') === false) { if (strpos($columns, '(') === false) {
@ -199,7 +200,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
foreach ($values as $value) { foreach ($values as $value) {
$vs = []; $vs = [];
foreach ($columns as $column) { foreach ($columns as $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
if (isset($value[$column])) { if (isset($value[$column])) {
@ -217,7 +218,7 @@ class InConditionBuilder implements ExpressionBuilderInterface
$sqlColumns = []; $sqlColumns = [];
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
$sqlColumns[] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column; $sqlColumns[] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column;

6
framework/db/mssql/conditions/InConditionBuilder.php

@ -8,7 +8,7 @@
namespace yii\db\mssql\conditions; namespace yii\db\mssql\conditions;
use yii\base\NotSupportedException; use yii\base\NotSupportedException;
use yii\db\ExpressionInterface; use yii\db\Expression;
/** /**
* {@inheritdoc} * {@inheritdoc}
@ -38,7 +38,7 @@ class InConditionBuilder extends \yii\db\conditions\InConditionBuilder
{ {
$quotedColumns = []; $quotedColumns = [];
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
$quotedColumns[$i] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column; $quotedColumns[$i] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column;
@ -47,7 +47,7 @@ class InConditionBuilder extends \yii\db\conditions\InConditionBuilder
foreach ($values as $value) { foreach ($values as $value) {
$vs = []; $vs = [];
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
if (isset($value[$column])) { if (isset($value[$column])) {

6
framework/db/sqlite/conditions/InConditionBuilder.php

@ -8,7 +8,7 @@
namespace yii\db\sqlite\conditions; namespace yii\db\sqlite\conditions;
use yii\base\NotSupportedException; use yii\base\NotSupportedException;
use yii\db\ExpressionInterface; use yii\db\Expression;
/** /**
* {@inheritdoc} * {@inheritdoc}
@ -38,7 +38,7 @@ class InConditionBuilder extends \yii\db\conditions\InConditionBuilder
{ {
$quotedColumns = []; $quotedColumns = [];
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
$quotedColumns[$i] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column; $quotedColumns[$i] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column;
@ -47,7 +47,7 @@ class InConditionBuilder extends \yii\db\conditions\InConditionBuilder
foreach ($values as $value) { foreach ($values as $value) {
$vs = []; $vs = [];
foreach ($columns as $i => $column) { foreach ($columns as $i => $column) {
if ($column instanceof ExpressionInterface) { if ($column instanceof Expression) {
$column = $column->expression; $column = $column->expression;
} }
if (isset($value[$column])) { if (isset($value[$column])) {

Loading…
Cancel
Save