example - cakephp3 getting started
Pregunta para novatos de CakePHP: ¿Cómo puedo duplicar un modelo y sus datos relacionados? (1)
¿Cómo duplico un registro de modelo existente? Dicho de otra manera, ¿cómo recupero un modelo existente con datos relacionados y luego guardo una COPIA de ese modelo Y datos (tanto el modelo como los datos relacionados se copian)? Esto es trivial usando SQL simple, pero quiero hacerlo usando las mejores prácticas de CakePHP.
$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);
Básicamente, querrás asegurarte de que no haya campos de id
incluidos en los datos, luego solo guárdalo como de costumbre. Eso impulsará a Cake a crear un nuevo registro.
Dependiendo de sus datos específicos, puede ser más económico escribir una consulta INSERT … SELECT …
directamente usando $Model->query()
though.