2011-03-11 96 views
2

我有五个模型和它们各自的表是如何关联模型保存在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是节省但是成员和学生是不节能。

请给我解决方案,以保存在拍摄的所有模型。

+0

如果您没有发布您的型号代码,我们只能猜测问题。我意识到可能有相当一部分。 – Leo 2011-03-11 11:00:40

回答

1

蛋糕只做2级深的关联与白水(或相同型号的多行)

你需要推出自己的保存几foreach循环或只保存数据的各个部分保存。

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

+0

在Cake 2.1+中,添加参数'deep'=> TRUE以保存比两个级别更深的参数。 – 2012-05-16 18:37:08