Fixes #3752: QueryBuilder::batchInsert() does not typecast input values

This commit is contained in:
Qiang Xue
2014-06-09 08:12:08 -04:00
parent de8ba90019
commit ce49416e32
3 changed files with 9 additions and 8 deletions

View File

@ -68,10 +68,6 @@ class QueryBuilder extends \yii\db\QueryBuilder
$columnSchemas = [];
}
foreach ($columns as $i => $name) {
$columns[$i] = $this->db->quoteColumnName($name);
}
$values = [];
foreach ($rows as $row) {
$vs = [];
@ -91,6 +87,10 @@ class QueryBuilder extends \yii\db\QueryBuilder
$values[] = implode(', ', $vs);
}
foreach ($columns as $i => $name) {
$columns[$i] = $this->db->quoteColumnName($name);
}
return 'INSERT INTO ' . $this->db->quoteTableName($table)
. ' (' . implode(', ', $columns) . ') SELECT ' . implode(' UNION SELECT ', $values);
}