如何在cakePHP中保存关联模型

时间:2011-03-11 06:22:25

标签: cakephp

我有五个模型,各自的表格是

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 个答案:

答案 0 :(得分:1)

cake只使用saveAll(或同一型号的多行)保存2级深度关联

您需要使用一些foreach循环滚动自己的保存,或者只保存数据的各个部分。

例如:您使用saveAll保存联系人和地址,然后获取ID。在其他数据中手动设置fk的id,然后为剩余数据调用一堆保存。