我想知道yii2中是否有一个函数我想象类似于save(),会做什么如下:检查db中是否存在具有这些属性的给定记录,如果是,它会返回id,如果不是,它会创建它并回馈id。我觉得这很酷。可能有类似的东西。能帮到我,我在哪里可以找到它?谢谢!
答案 0 :(得分:3)
我不认为具有该特定功能,但除了保存之外,您还可以使用exists。
$exists = ModelName::find()->where( [ 'id' => 1 ] )->exists();
if($exists) {
//it exists
} else {
//doesn't exist so create record
}
答案 1 :(得分:1)
方法save()具有类似的功能 但它返回一个布尔值是否保存成功。 您可以在save()调用
后获取主键值答案 2 :(得分:1)
$model = ModelName::findOne(1) ?? new ModelName();
//or
$model = ModelName::find()->where(['id' => 1])->one() ?? new ModelName();