要約
patchEntityする際にassciatedにアソシエーション先モデル名を記述するだけでいけました。
詳細
久しぶりに引っかかったので備忘録として…
アソシエーションされたモデルのバリデーションを行うには以下のように記述する。
if ($this->request->is(['patch', 'post', 'put'])) {
$user = $this->Users->patchEntity($user, $this->request->data, ['associated' => 'Persons']);
if ($this->Users->save($user)) {
$this->Flash->success('ユーザ情報を更新しました。');
return $this->redirect(['action' => 'mypage']);
} else {
$this->Flash->error(__('ユーザ情報の更新に失敗しました。'));
}
}