SlimフレームワークでORマッパーLaravel’s Eloquent ORMを使う方法は「How to use Laravel’s Eloquent ORM with the Slim Framework」に書いてあります。
しかしながら、トランザクションの利用については書いてません。試行錯誤しました。NetBeansの補完機能に助けられつつ、実現できました。
以下のようなクラスを作ります。ちなみに、Runa-CCAではDBクラスになります。説明にあたって、クラス名を変更しました。
クラスを利用するときは、クラスのオブジェクトを作って、getIlluminateConnection()メソッドを呼んで、コネクションを取得します。
コネクションから”getPdo()->beginTransaction()”を呼ぶと、トランザクションが開始されます。コミットしたいときは”getPdo()->commit()”、ロールバックしたいときは”getPdo()->rollback()”を呼べばOKです。
以下のような感じ。
$dbConn = (new \Runa_CCA\Model\IlluminateDB())->getIlluminateConnection(); try{ // Begin Transaction. $dbConn->getPdo()->beginTransaction(); // Commit. $dbConn->getPdo()->commit(); }catch(\Exception $e){ // Rollback. $dbConn->getPdo()->rollback(); }
以上、ご参考まで。