Duplique un registro AR y vuelva a insertarlo en la base de datos

Tengo un modelo AR que estoy intentando duplicar pero solo necesito cambiar manualmente la clave externa.

$_POST['competition_id'] = 99;
$prizes = CompetitionPrizes::model()->findAll('competition_id =:competition_id',array(':competition_id'=> $_POST['competition_id']));

Esta consulta básicamente consulta la tabla de premios y obtiene todas las filas para una competencia en particular. Con el objeto de premios, me gustaría básicamente volver a insertar / duplicar la misma información, excepto el ID de la competencia que quiero configurar manualmente.

Hice algo similar para un objeto AR que básicamente solo tiene una fila y que funcionó bien, sin embargo, en este caso, como una competencia puede tener más de un premio, este mismo código no lo hará.

// My existing code for duplication process
$obj = Competitions::model()->find('competition_id=:competition_id', array(':competition_id' => $post['competition_id']));
$clone = clone $obj;
$clone->isNewRecord = true;
unset($clone->competition_id); // i want to remove this so it is auto inserted instead via the db
$clone->save();

Esto funciona muy bien. ¿Cómo puedo modificar esto en una 'colección' de premios y tener esto duplicado en la base de datos mientras configuro mi propio valor 'competition_id'?

Nota: soy nuevo en Yii, así que avíseme si he cometido algún error obvio / mala práctica

Respuestas a la pregunta(4)

Su respuesta a la pregunta