cakephp3でのトランザクション

利用するコントローラーでまずConnectionManagerをuse;

use CakeDatasourceConnectionManager;

Cakephp2と基本的には同じく、begin()で初めて、処理が終わってcommit() 、例外時は rollback()。

$connection = ConnectionManager::get('default');
$connection->begin();

if ($this->Products->save($product)){
    $connection->commit();  //OK時
}else{
    $connection->rollback();    //エラー時
}

commit()を行わずに終了した場合は、保存されなかった。
(2017.10.03現在の ver3.5.0にて確認)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です