Zend framework 更新Zend中的多行

Zend framework 更新Zend中的多行,zend-framework,zend-db,Zend Framework,Zend Db,我正在尝试找出如何在zend framework中的一个update()中更新多行 我有一个名为IDs的ID数组,我想更新这些ID所有行的一个字段 我尝试创建一个where条件,如下所示: $where = Bootstrap::$db->quoteInto('id_task IN (?)', $ids); 然后调用update方法: $this->getDbTable()->update(array("deleted" => 1), $where); 但我有一个语法

我正在尝试找出如何在zend framework中的一个update()中更新多行

我有一个名为IDs的ID数组,我想更新这些ID所有行的一个字段

我尝试创建一个where条件,如下所示:

$where = Bootstrap::$db->quoteInto('id_task IN (?)', $ids);
然后调用update方法:

$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条件下传递数组吗?

可能是这样:

$where = Bootstrap::$db->quoteInto('id_task IN (?)', implode( ',', $ids ) );

假设您的
id
是整数并且已经过验证。

就在
$where=Bootstrap::$db…
之前,
变量转储($id)是什么显示?中的
操作员是否会在
更新中工作?也许可以将其作为
Zend\u Db\u表达式来尝试,而不是
quoteInto()