Zend框架MySQL更新列

8
有没有使用Zend_Db_Table_Abstract实现以下代码功能的方法?
UPDATE table SET value=value+1 WHERE value < 10;

我尝试了以下内容:

$tableModel->update(array('value=value+1'),'value<10');

但是没有成功。

我可以通过SELECT获取数据,然后只需将其加1,但这不是一个选项,因为它非常缓慢。

1个回答

11

第一个参数数组是列和值的关联映射。如果您不使用绝对值,即您想使用表达式或函数,则需要使用Zend_Db_Expr。以下内容应该会增加任何当前值小于10的行的“value”列。

$tableModel->update(array(
    'value' => new Zend_Db_Expr('value + 1')
), 'value < 10');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接