Zend_Db_Table updateでインクリメント指定をする書き方

ZendFramework

やりたいこと

UPDATE `bug` SET bug_count = bug_count + 1 WHERE bug_id = $n; 

Zend_Dbで書く場合、SETに普通にbug_count + 1と書いても文字列として認識されちゃって正しく動作しない。

ので

Zend_Db_Table で書くとこうなる

$dbBug = new Bug();

$data = array('bug_count' => new Zend_Db_Expr('bug_count + 1'));
$where = $dbBug->getAdapter()->quoteInto('bug_id = ?', $n );
$dbBug->update($data, $where);

参考

zend DB 値をインクリメントする方法

コメント

タイトルとURLをコピーしました