我該如何編寫這個SQL Zend Framework的方式?Zend Framework SQL更新查詢
UPDATE register
SET balance = (balance + 10)
WHERE added_date > 1259944184 ;
我在Zend的網站或網上找不到任何這方面的例子。
我需要使用「Zend_Db_Expr
」嗎?
我該如何編寫這個SQL Zend Framework的方式?Zend Framework SQL更新查詢
UPDATE register
SET balance = (balance + 10)
WHERE added_date > 1259944184 ;
我在Zend的網站或網上找不到任何這方面的例子。
我需要使用「Zend_Db_Expr
」嗎?
acording到Zend的framwork文檔
使用本
$data = array(
'balance' => 'balance + 10'
);
$n = $db->update('register ', $data, 'added_date > 1259944184');
這爲我工作:
$data = array(balance => new Zend_DB_Expr('balance + 10'));
$db->update('register ', $data, 'added_date > 1259944184');
試試這個...確保您的模型已準備就緒。
$table = new register();
這是模型類
balance=balance+10;
$data = array(
'balance' => 'balance'
);
$where = $table->getAdapter()->quoteInto('added_date > '. 1259944184);
我用這其中[]多個條件
$table->update($data, $where);
修改元素爲頂部,你可以使用$。 代碼如下從表類延伸Zend_Db_Table_Abstract:
$data = array('i_order' => new Zend_DB_Expr('i_order + 1'));
return $this->getAdapter()->update($this->_name, $data, "i_id != {$oCurrent->i_id} AND i_order < {$i_order}");
這並不適用於我。我得到它使用這樣的SQL查詢: $ stmt = $ this - > _ db-> query('UPDATE'。$ this - > _ name。'SET balance =(balance + \''。$ difference。'\ ')WHERE added_date> \''。$ addedDate。'\''); \t \t $ numAdded = $ stmt-> rowCount(); \t \t echo'
'。$ numAdded。'受影響的行'; 但我真的很想使用ZF的流體方法。 – EricP 2009-12-04 22:18:44