0

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

4

1 回答 1

0

也许这样:

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

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

于 2013-05-10T13:31:30.413 回答