【发布时间】:2013-07-19 16:15:43
【问题描述】:
我使用的是 CakePHP 1.3,如果新记录是新记录,我将在循环中插入新记录(几至几千个),或者如果它们已经存在,则更新现有记录。但是我保存的方式并没有检查记录是否已经存在;相反,我在每条记录中分配了一个主键值。我分配的这个 ID 保证是唯一的。如果此 ID 不存在,CakePHP 似乎知道插入,否则更新。
但是,我不确定我的做法是否正确。我读了here,如果我要创建一个新记录在循环中,我需要做$this->create(),我在其他我知道的函数中实现了记录将是独一无二的。我不在这里这样做,因为它似乎可以正常工作,而且我不需要检查每条记录的存在。
我要插入或更新的每个记录数组都有一个键 id,它表示各个表中的主键,每个数组都包含正确关联的两个模型的数据。
例如
$this->saveAll($myData);
Array
(
[MyModel] => Array
(
[id] => 123
[xyz] => ...
...
)
[MySecondModel] => Array
(
[id] => 789
[my_model_id] => 123
[qwe] => ...
...
)
)
我做的很好吗,或者我需要检查是否存在,如果需要的话,然后是$this->create()?
【问题讨论】:
标签: cakephp cakephp-1.3