2015-10-19 148 views
2

我想知道yii2中是否有函数我想像save()那样,将执行以下操作:check如果给定的记录存在于具有这些属性的数据库中,如果是的话,它会返回id,如果没有,它会创建它并返回id。我认为这将很酷。可能有这样的事情。你能帮我找我吗?谢谢!yii2保存,检查是否存在,如果是给id返回,如果没有,创建(并给id返回)

+0

取决于您的独特列。发布您的数据库字段和哪些字段除主键以外是唯一的。 –

回答

3

我不认为有特定功能,但除了保存,也可以使用exists

$exists = ModelName::find()->where([ 'id' => 1 ])->exists(); 

if($exists) { 
    //it exists 

} else { 
    //doesn't exist so create record 

} 
+1

谢谢!不错,干净! – Imtiaz

1

方法save() from BaseActiveRecord类具有相似的功能 但它返回一个布尔值,无论保存是否成功。 你可以得到主键值保存后()调用

$model->getPrimaryKey();

相关问题