I don't think Zend_Db supports insertion of multiple rows.
But if you just have two rows or a little more you can just use a loop.
foreach ($data as $row)
{
$db->insert('table', $row)
}
Bill Karwin, a former Zend Framework developer, wrote
this on Nabble some time ago:
Rowsets are basically a collection object, so I would add methods to that class to allow rows to be added to the set. So you should be able to do this:
// creates a rowset collection with zero rows
$rowset = $table->createRowset();
// creates one row with unset values
$row = $table->createRow();
// adds one row to the rowset
$rowset->addRow($row);
// iterates over the set of rows, calling save() on each row
$rowset->save();
It makes no sense to pass an integer to createRowset() to create N empty rows. You would just have to iterate through them to populate them with values anyway. So you might as well write a loop to create and populate individual rows with application data, and then add them to the collection.
$rowset = $table->createRowset();
foreach ($appData as $tuple)
{
$row = $table->createRow($tuple);
$rowset->addRow($row);
}
$rowset->save();
It does make sense to allow an array of arrays to be passed to createRowset(), since this would be consistent with the usage of passing a tuple to createRow().
$rowset = $table->createRowset($appData); // pass array of tuples
This would perform the same loop as the previous example above (except for the save() at the end), creating a new rowset of new rows, ready to be save()d.
There are two ways in SQL to improve the efficiency of inse
answered 2009-05-03T12:34:35.977