for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/**
* @link http://www.yiiframework.com/
* @copyright Copyright (c) 2008 Yii Software LLC
* @license http://www.yiiframework.com/license/
*/
namespace edgardmessias\db\ibm\db2\conditions;
* {@inheritdoc}
class InConditionBuilder extends \yii\db\conditions\InConditionBuilder
{
protected function buildCompositeInCondition($operator, $columns, $values, &$params)
$vss = [];
foreach ($values as $value) {
$vs = [];
foreach ($columns as $column) {
if (isset($value[$column])) {
$vs[] = $this->queryBuilder->bindParam($value[$column], $params);
} else {
$vs[] = 'NULL';
}
$vss[] = 'select ' . implode(', ', $vs) . ' from SYSIBM.SYSDUMMY1';
$sqlColumns = [];
foreach ($columns as $i => $column) {
$sqlColumns[] = strpos($column, '(') === false ? $this->queryBuilder->db->quoteColumnName($column) : $column;
return '(' . implode(', ', $sqlColumns) . ") $operator (" . implode(' UNION ', $vss) . ')';