В приложении CakePHP мне нравятся две таблицы, одна из которых - пользователи, которым понравился hasOne Profile.
Мне удалось автоматически создать записи в обоих при создании нового пользователя, но когда я пытаюсь отредактировать все на моей странице редактирования пользователя, он создает новую запись профиля, в результате чего у моего пользователя есть 2 связанных профиля.
Обе модели отлично закодированы и связаны, как я уже сказал, я могу создать нового пользователя, и система автоматически создает профиль и связывает его.
Вот мой user_controller.php с функцией редактирования, которая не работает должным образом:
function edit($id = null) { if (!$id && empty($this->data)) { $this->Session->setFlash(__('Invalid User', true)); $this->redirect(array('action' => 'index')); } if (!empty($this->data)) { if ($this->User->save($this->data)) { $this->data['Profile']['user_id'] = $this->User->id; $this->User->Profile->save($this->data); $this->Session->setFlash(__('User saved', true)); $this->redirect(array('action' => 'index')); } else { $this->Session->setFlash(__('The user could not be saved. Please, try again.', true)); } } if (empty($this->data)) { $this->data = $this->User->read(null, $id); } }
Большое спасибо за помощь!