$record = $this->Model->find('first', array('condition' => array('Model.id' => $id)));
unset($record['Model']['id'], $record['RelatedModel']['id'], );
$this->Model->create();
$this->Model->saveAll($record);
Basically, you want to make sure that there are no fields in the data id, and then just save them as usual. This will force Cake to create a new entry.
INSERT β¦ SELECT β¦ , $Model->query(), .