Browse Source

Fixes issue #460

tags/2.0.0-beta
Qiang Xue 12 years ago
parent
commit
94b2d17031
  1. 9
      framework/yii/db/mysql/QueryBuilder.php

9
framework/yii/db/mysql/QueryBuilder.php

@ -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) . ')';
} }
} }

Loading…
Cancel
Save