読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

CakePHP3でアソシエーションが保存されない

CakePHP3は単なるエンティティの保存もアソシエーションを含む保存も全てsaveメソッドで行う。 しかしなぜかこの関連データが保存されない場合があった。

原因を探ってみるとdirtyが無かったため。 Users hasMany Itemsの場合であれば

$user->dirty('items');

とすればuserに変更が無くてもitemsが保存される。