Zend_Db_Table: Delete multiple entries

zend-dbzend-db-tablezend-framework

I wanted to delete some db entries and each of them has a unique ID. My current code looks so, taken from here: Zend Framework: How to delete a table row where multiple things are true?

$where = array();
foreach ($IDs as $ID) {
   $where[] = $this->getAdapter()->quoteInto('id = ?', $ID);
}

$this->delete($where);

This is called inside the model class extends by Zend_Db_Table_Abstract.
The query looks now like that:

DELETE FROM `shouts` WHERE (id = '10') AND (id = '9') AND (id = '8')

That doesn't work of course because of the AND's, this have to be OR's to work correctly, but how could I get this work so?

Best Answer

Try this:

$where = $this->getAdapter()->quoteInto('id IN (?)', $IDs);
$this->delete($where);
Related Topic