是否有任何方法可以使用Zend_Db_Table_Abstract来做下面的代码?
UPDATE table SET value=value+1 WHERE value < 10;
我试过这样做:
$tableModel->update(array('value=value+1'),'value<10');
但没有成功。
我可以取SELECT
中的数据然后加1,但这不行,因为太慢了
第一个参数数组是列和值的关联映射。如果你不使用绝对值,也就是说,你想使用表达式或函数,你需要使用Zend_Db_Expr。下面的代码应该增加当前值小于10的所有行的'value'列。
$tableModel->update(array(
'value' => new Zend_Db_Expr('value + 1')
), 'value < 10');