Používáte modely v Yii, je to docela jednoduché .. zkuste načíst model tam, kde máte podezření, že máte duplicitní položky, pokud najdete položku, model je načten, jinak se vrátí null. nyní, pokud je váš model nulový, jednoduše vytvořte nový model. zbytek je váš normální kód pro vložení nového záznamu.
//try to load model with available id i.e. unique key
$model = someModel::model()->findByPk($id);
//now check if the model is null
if(!$model) $model = new someModel();
//Apply you new changes
$model->attributes = $attributes;
//save
$model->save();
Podívejte se na metodu aktualizace řadičů příspěvků v blogu ukázkové aplikace Yii. Možná se mýlím v pravopisu názvů funkcí, omlouvám se za to.