尝试:
Mage::getModel('module/table')
->setId($obj->getId()) //"using _afterSave(Mage_Core_Model_Abstract $obj)"
->setCounter(+2) //"want to add to existing integer in table column"
->save();
on enable log-all-queries sql语句:
SQL: UPDATE `table` SET `counter` = ? WHERE (id='2')
BIND: array (
0 => 1,
)
尝试使用magento模型在每个更新中添加到表列(int)中的现有值(int)。但正如它在sql语句中的明确,没有发生。 我怎样才能做到这一点?
非常感谢你的时间。
答案 0 :(得分:0)
如果我理解正确,您只想将counter
的当前值增加1。
假设$obj->getCounter()
包含当前计数器值,您可以这样做:
Mage::getModel('module/table')
->setId($obj->getId())
->setCounter($obj->getCounter() + 1) // increment counter by 1
->save();
答案 1 :(得分:0)
我使用zend dp expr
解决了这个问题Mage::getModel('module/table')
->setId($obj->getId()) //"using _afterSave(Mage_Core_Model_Abstract $obj)"
->setCounter(new Zend_Db_Expr('counter + 1')) //"want to add to existing integer in table column"
->save();
SQL语句:
UPDATE `table` SET `counter` = counter + 1 WHERE (id='2')
的问候,