Как сохранить связанные модели в cakePHP - PullRequest
2 голосов
/ 11 марта 2011

У меня есть пять моделей, и их соответствующие таблицы

Member:id,fname,lname
Student:id,member_id(foreign key references member table id),order_id (references order table id)
Contact:id,member_contact_id(foreign key references Member id)
Address:id,city,state
Order:id,student_id(foreign key references student id),contact_id( foreign references contact id),address_id(foreign key references address id

и я установил связь в моделях также.


когда я делаю

$this->Order->saveAll($this->session->read()) 

только контакт и адрес, и в порядке contact_id и address_id сохраняется, но участник и студент не сохраняет.

Пожалуйста, дайте мне решение сохранить все модели на снимке.

1 Ответ

1 голос
/ 11 марта 2011

торт только с 2 уровнями сохраняет глубокую ассоциацию с saveAll (или несколькими строками одной и той же модели)

вам нужно будет выполнить собственное сохранение с помощью нескольких циклов foreach или просто сохранить различные части данных.

Например: вы используете saveAll, чтобы сохранить контакт и адрес, а затем получить идентификаторы.вручную установите идентификаторы fk в других данных, а затем вызовите несколько сохранений для оставшихся данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...