dポイントプレゼントキャンペーン実施中!

zend(phpフレームワーク)でトランザクション処理をしたいのですが…。

いつもお世話になっております。
zendでトランザクション処理をしたいのですが
O/Rマッパーを使用した方法がわかりません…。

どなたかご存知この方参考サイト等あれば御教示お願いします。

A 回答 (2件)

<code>


// コントローラなどで。
// 以下のインデントは全角スペースなので、半角に直す必要がある。

// DBアダプターを取得する(Zend_Registryに登録されていると仮定する)。
$db = Zend_Registry::get('db');

try{
  $db->beginTransaction();
  
  // ここでSQLを実行する。
  $table = new Your_Table_Test();
  $data = array(
   'key'=>'value'
  );
  $affectedRows = $table->insert($data);
  if($affectedRows <= 0){
    // データがインサートされなかったので警告としてロギングしたりする。
  }
  
  $db->commit();
}
catch(Exception $e){
  $db->rollback();
  // ログを取るなどの処理.
}
</code>

ちなみに DBは mysql をお使いであれば、MyISAM型だと表レベルでロックされ、
InnoDB型だと行レベルでロックされます。
その他のDBは、良く知りません。

参考URL:http://framework.zend.com/manual/ja/zend.db.adap …
    • good
    • 0

http://www.google.co.jp/search?hl=ja&q=Zend_Db+% …

Googleで、「Zend_Db トランザクション」と検索したら、しこたま出てきました。
一番最初の記事でできそうです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!