Я уверен, что есть очень простое решение для этого, но объяснение является сложным, поэтому, пожалуйста, потерпите меня.
У меня есть регистрационная форма Registration::add()
, и она состоит из трех разделов.
- Первый - это данные
Registration
, количество полей. - Второй - это флажки для трех связанных моделей
HABTM
, Role
, Category
и CategoryChild
- Третье - это создание записи в
User
Моя Registration
модель имеет user_id
, и мне нужно сохранить сгенерированный User.id
в этом поле.
Я уверен, что смогу сделать это, используя отношения модели, так как модель User
сохраняет штраф User.registration_id
, но, похоже, не записывает в Registration
модель.
Нужно ли создавать другое поле в моем представлении add.ctp
, чтобы оно присутствовало в массиве $this->data->request
?Я бы предпочел сделать это, а не втягиваться в фафинг с beforeSave()
и afterSave()
.
Так что мне просто нужно создать
$this->Form->input('Registration.user_id', array('type'=>'hidden'));
Мои отношения, для справки
Registration hasOne User
Registration hasAndBelongsToMany Category
Registration hasAndBelongsToMany CategoryChild
Registration hasAndBelongsToMany Role
User hasOne Registration
В настоящее время я использую saveAll($this->request->data)
для сохранения всех своих данных, и ему удается сохранить все, кроме Registration.user_id