CakePHP3でデータベースのトランザクションを使う方法をまとめました。 CakePHP3のソースコードをみながらまったり理解していきます。 最後にトランザクションな処理をユニットテストがしやすいコードに改良するテクニックを紹介しています。 お急ぎの方は「トランザクションを実装する」をみてください。 サンプルが動作する環境 CakePHP3のバージョンです。 -- タグ CREATE TABLE tags( id INTEGER AUTO_INCREMENT PRIMARY KEY, name VARCHAR(255) ); -- 記事 CREATE TABLE articles( id INTEGER AUTO_INCREMENT PRIMARY KEY, contents TEXT ); -- 記事とタグの関連付け CREATE TABLE article_tags( id INTE