【发布时间】:2012-06-01 02:53:48
【问题描述】:
我有一种情况,由于外部原因,我必须直接保存连接记录,而不是将它们保存为连接的一部分。这就是我的意思:
- 我有一个
Firm模型,它的数据是从外部来源提取的。 - 我的应用数据库中有一个
County模型 - 我有一个
counties_firms连接表,用于将这些外部公司与县关联起来。
因为生活在哪里,我没有编辑Firm 模型,也没有编辑County 模型。我真的只是在编辑关联。我有一个Firm 模型来封装我需要对公司数据做的任何事情,其中一种方法是Firm::saveCounties( $data )。它:
- 接受包含公司 ID 和应关联的县 ID 的传入数据。
- 删除该县的所有现有连接记录
- 尝试保存所有新加入记录。
我发现只有最后一个县记录被保存。这是传入的数据:
Array
(
[0] => Array
(
[firm_id] => 13
[county_id] => 4fa16e24-a25c-4523-8a9e-7d1d147402e8
)
[1] => Array
(
[firm_id] => 13
[county_id] => 4fa16e27-ccd0-4f22-97da-7d1d147402e8
)
[2] => Array
(
[firm_id] => 13
[county_id] => 4fa16e4a-68f8-4fb1-95bb-7d1d147402e8
)
)
鉴于这些数据,我正在 Firm 和 CountiesFirm 之间创建即时关联,并尝试与 $this->CountiesFirm->saveAll( $data ) 建立关联。
正如我所提到的,在此示例中,只有 3 个县协会中的最后一个得到了保存。知道我可能缺少什么吗?
谢谢。
【问题讨论】:
标签: cakephp cakephp-1.3