Zend_Db_Table: удалить несколько записей - PullRequest
2 голосов
/ 26 сентября 2011

Я хотел удалить несколько записей в БД, и каждая из них имеет уникальный идентификатор. Мой текущий код выглядит так, взято отсюда: Zend Framework: Как удалить строку таблицы, где несколько вещей верны?

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

$this->delete($where);

Это вызывается внутри класса модели extends Zend_Db_Table_Abstract. Запрос теперь выглядит так:

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

Это не работает, конечно, из-за AND, это должно быть OR, чтобы работать правильно, но как я могу получить эту работу так?

1 Ответ

12 голосов
/ 26 сентября 2011

Попробуйте это:

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