Dupliquer un AR enregistrement & re-insérer dans la base de données

J'ai un modèle AR que je suis en train de dupliquées, mais juste besoin de changer manuellement la clé étrangère.

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

Cette requête essentiellement les requêtes les prix de table et obtient toutes les lignes pour une compétition en particulier. Avec le prix de l'objet, je voudrais essentiellement ré-insérer/dupliquer la même information, à l'exception de la concurrence id qui je veux définir manuellement.

J'ai fait quelque chose de similaire pour un AR objet qui, fondamentalement, n'a qu'une ligne et qu'il travaillait bien, cependant dans ce cas, tant que la compétition peut avoir plus d'un prix de ce même code ne sera pas.

//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();

Cela fonctionne très bien - comment puis-je modifier cela sur une collection de prix cette dupliqué dans la base de données, tandis que la configuration de mon propre " competition_id valeur.

- Je suis à nouveau à Yii, de sorte s'il vous plaît laissez-moi savoir si j'ai fait toutes les erreurs manifestes/mauvaises pratiques

InformationsquelleAutor Zabs | 2014-01-08