在Zend中更新多行

时间:2013-05-10 00:39:42

标签: zend-framework zend-db

我试图弄清楚如何在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条件下传递数组吗?

1 个答案:

答案 0 :(得分:0)

也许这样:

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

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