我使用的是一个非常内在的cakephp应用程序数据库,到目前为止,我的多模型视图和控制器工作得很好。我有一张单人桌(
Entity
)有了它
id
在其他几个表上作为外键
entity_id
有些桌子是一对一的关系(比如
Company
是一
实体
)有些是一对多(
实体
可以有几个
Addresses
等等。
我不会/不能更改数据库模型
,这就是结构。
我一直在用
saveAll()
要在具有输入名称的表上保存数据,请执行以下操作:
Entity.type='x' (hidden inside the view)
Company.name
Address.0.street
Address.0.city
Address.1.street
Address.1.city
... and so on ...
我的救命之道就是尽全力,
BEGIN TRANSACTION
,所有
INSERT
S与最后
COMMIT
…
但现在我创造了一个
EntityCategory
这是一个n对n关系,并创建了完整的
HABTM
模型内部的关系。
当我工作的时候
save()
它只是
哈普姆
关系,当我使用它时它可以节省所有的东西
萨维尔()
(和以前一样)除了
哈普姆
关系。
我错过什么了吗?我如何使它正确工作?我今天使用以下代码:
if (!empty($this->data)) {
$this->Entity->saveAll($this->data);
$this->Entity->save($this->data);
}
这个
萨维尔()
将所有数据保存在多个表中,将ID保存在
Entity->id
以及
保存()
拯救
哈普姆
关系,但我不确定它是否正确,或者如果我改变一些结构/模型,它是否会给我带来问题。
这是最好的使用方法吗?有没有
对的
如何在cakephp中保存这种关系?你的经验/知识能告诉我什么?