PHP
cakephp3

CakePHP3でのTableオブジェクトでsave時にTransactionを行わないようにする

需要など知らない

結論から先に書くとSaveメソッドにオプションを追加する
$tables->save($entity, ['atomic' => false]);
atomicをfalseにしてやるとTransactionを発行しなくなる。

--
CakePHP3においてafterFindがなくなり
2までMaster-Slaveのように書き込みと読み込みのDBを分けていた場合など
defaultをMasterにして、検索の時だけSlaveみたいな事ができなくなったため
TableのSaveメソッドを使った際にSlaveに対してTransactionが発行されてしまう。

非常に具合が悪いためTransactionを発生せずにSaveする方法
が上記になる

参考:
https://book.cakephp.org/3.0/ja/orm/saving-data.html#id9