CakePHP新手问题:如何复制模型及其相关数据?

时间:2010-02-21 00:10:22

标签: cakephp model save

如何复制现有模型记录?换句话说,如何检索具有相关数据的现有模型,然后保存该模型的COPY和数据(模型和相关数据都被复制)?使用简单的SQL这很简单,但我想使用CakePHP最佳实践来完成它。

1 个答案:

答案 0 :(得分:4)

$record = $this->Model->find('first', array('condition' => array('Model.id' => $id)));
unset($record['Model']['id'], $record['RelatedModel']['id'], /* further ids */);
$this->Model->create();
$this->Model->saveAll($record);

基本上,您需要确保数据中不包含id个字段,然后像往常一样保存。这将促使Cake创建一个新记录。

根据您的具体数据,使用INSERT … SELECT …直接撰写$Model->query()查询可能更为经济。