mirror of
https://github.com/yiisoft/yii2.git
synced 2025-11-17 23:09:10 +08:00
Fixes issue #460
This commit is contained in:
@@ -150,17 +150,20 @@ class QueryBuilder extends \yii\db\QueryBuilder
|
|||||||
*/
|
*/
|
||||||
public function batchInsert($table, $columns, $rows)
|
public function batchInsert($table, $columns, $rows)
|
||||||
{
|
{
|
||||||
|
foreach ($columns as $i => $name) {
|
||||||
|
$columns[$i] = $this->db->quoteColumnName($name);
|
||||||
|
}
|
||||||
|
|
||||||
$values = array();
|
$values = array();
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$vs = array();
|
$vs = array();
|
||||||
foreach ($row as $value) {
|
foreach ($row as $value) {
|
||||||
$vs[] = is_string($value) ? $this->db->quoteValue($value) : $value;
|
$vs[] = is_string($value) ? $this->db->quoteValue($value) : $value;
|
||||||
}
|
}
|
||||||
$values[] = $vs;
|
$values[] = '(' . implode(', ', $vs) . ')';
|
||||||
}
|
}
|
||||||
|
|
||||||
return 'INSERT INTO ' . $this->db->quoteTableName($table)
|
return 'INSERT INTO ' . $this->db->quoteTableName($table)
|
||||||
. ' (' . implode(', ', $columns) . ') VALUES ('
|
. ' (' . implode(', ', $columns) . ') VALUES ' . implode(', ', $values);
|
||||||
. implode(', ', $values) . ')';
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user