- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- PHP-Propel/トランザクション へ行く。
- 1 (2011-03-02 (水) 17:24:05)
トランザクション
?php
public function transferMoney($fromAccountNumber, $toAccountNumber, $amount) { // get the PDO connection object from Propel $con = Propel::getConnection(AccountPeer::DATABASE_NAME); $fromAccount = AccountPeer::retrieveByPk($fromAccountNumber, $con); $toAccount = AccountPeer::retrieveByPk($toAccountNumber, $con); $con->beginTransaction(); try { // remove the amount from $fromAccount $fromAccount->setValue($fromAccount->getValue() - $amount); $fromAccount->save($con); // add the amount to $toAccount $toAccount->setValue($toAccount->getValue() + $amount); $toAccount->save($con) $con->commit(); } catch (Exception $e) { $con->rollback(); throw $e; } }
http://www.propelorm.org/wiki/Documentation/1.4/Transactions