У меня есть таблица profiles
и таблицу users
и profiles
имеет belongsTo
отношения с users
. На моем profiles/edit
виде у меня есть выпадающий список существующих users
.CakePHP ForeignKey не сохраняются в belongsTo отношении
Однако users.id
не сохраняется в profiles.user_id
, как и следовало ожидать.
ProfilesController.php -> редактировать:
$this->set('users', $this->Profile->User->find('list'));
И View -> Профили -> edit.ctp
echo $this->Form->input('User');
Запуск debug($this->request);
в контроллере показывает, что собственные значения посылаются обратно к контроллеру. Сохранить действие выглядит следующим образом:
if ($this->request->is('post') || $this->request->is('put')) {
if ($this->Profile->save($this->request->data)) {
$this->Session->setFlash(__('The profile has been saved'));
} else {
$this->Session->setFlash(__('The profile could not be saved. Please, try again.'));
}
}
В возвращаемых данных:
data => array(
'Profile' => array(
'User' => '3',
...
Не видите проблему в этой части вашего кода. Вы проверили инструкции SQL, если debug включен? – thaJeztah
@thaJeztah Отчет о запросе в отладочном не показывает, что user_id сохраняется. –
Но он присутствует в данных запроса как Profile => user_id? Weird. – thaJeztah