There is no general way for multi-user in ZF2, but if you use mysql and do not plan to change other databases, I wrote a multiInsert function for myself:
$data - an array of arrays of key pairs, values.
protected function multiInsert($table, array $data) { if (count($data)) { $columns = (array)current($data); $columns = array_keys($columns); $columnsCount = count($columns); $platform = $this->db->platform; array_filter($columns, function ($index, &$item) use ($platform) { $item = $platform->quoteIdentifier($item); }); $columns = "(" . implode(',', $columns) . ")"; $placeholder = array_fill(0, $columnsCount, '?'); $placeholder = "(" . implode(',', $placeholder) . ")"; $placeholder = implode(',', array_fill(0, count($data), $placeholder)); $values = array(); foreach ($data as $row) { foreach ($row as $key => $value) { $values[] = $value; } } $table = $this->db->platform->quoteIdentifier($table); $q = "INSERT INTO $table $columns VALUES $placeholder"; $this->db->query($q)->execute($values); } }
source share