トランザクション

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2011-03-02 (水) 17:24:23 (2692d)