Имам 2 харесани таблици в приложението CakePHP, едната е Users, която 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); } }
Благодаря много за помощта!