Boa tarde, isso vai ser rápido e nós vamos utilizar a implementação de Active Record do Yii.

No Yii, se você quiser duplicar um registro de banco de dados, tudo que você precisa fazer é utilizar o código abaixo.

$model = $this->loadModel($id); // $id do registro que será duplicado  
$model->codigo = null;
$model->isNewRecord = true;
$model->save()

A implementação acima é bastante simples, apenas carregamos o registro do banco de dados em uma variável $model, e em seguida modificaremos os valores de um atributo, e de uma propriedade. O atributo alterado chama-se codigo – e é a nossa chave primária – vamos alterá-lo para null. A gora é a vez da nossa propriedade chamada isNewRecord – que é responsável por retornar se o registro atual é novo – como true. E por último, salvar o modelo. Uma vez que o modelo é salvo, você vai obter um registro novo duplicado onde o codigo é diferente da que você acabou de carregar.

abraço,
até…