我试图弄清楚如何在zend框架中的一个update()中更新多行。
我有一个名为ids的ID数组,我想更新这些ID的所有行中的一个字段。
我试图创建一个像这样的where条件:
$where = Bootstrap::$db->quoteInto('id_task IN (?)', $ids);
然后调用更新方法:
$this->getDbTable()->update(array("deleted" => 1), $where);
但是我有一个语法错误或访问冲突错误,我的查询在调试输出中看起来像这样:
array(2) {
[0]=>
&string(54) "UPDATE `tasks` SET `deleted` = ? WHERE (id_task IN ())"
[1]=>
&array(1) {
[0]=>
int(1)
}
}
有人知道如何在更新的where条件下传递数组吗?
答案 0 :(得分:0)
也许这样:
$where = Bootstrap::$db->quoteInto('id_task IN (?)', implode( ',', $ids ) );
假设您的ids
是整数且已经过验证。