yii2 保存,检查是否存在,如果存在则返回 id,如果不存在则创建(并返回 id)
yii2 save, check if exist, if yes give id back, if not, create (and give id back)
我想知道yii2中是否有一个我想象中类似于save()的函数,会做以下事情:检查给定的记录是否存在于具有这些属性的数据库中,如果是,它会返回id,如果没有,它将创建它并返回 id。我认为这会很酷。可能有类似的东西。你能帮我在哪里找到它吗?谢谢!
来自 BaseActiveRecord class 的 方法 save() 具有相似的功能
但它 returns 一个布尔值是否保存成功。
调用 save() 后可以得到主键值
我认为没有那个特定的功能,但除了保存之外,您还可以使用 exists。
$exists = ModelName::find()->where( [ 'id' => 1 ] )->exists();
if($exists) {
//it exists
} else {
//doesn't exist so create record
}
$model = ModelName::findOne(1) ?? new ModelName();
//or
$model = ModelName::find()->where(['id' => 1])->one() ?? new ModelName();
- 如果 'id' 是 primapy 键
- 如果没有
我想知道yii2中是否有一个我想象中类似于save()的函数,会做以下事情:检查给定的记录是否存在于具有这些属性的数据库中,如果是,它会返回id,如果没有,它将创建它并返回 id。我认为这会很酷。可能有类似的东西。你能帮我在哪里找到它吗?谢谢!
方法 save() 具有相似的功能 但它 returns 一个布尔值是否保存成功。 调用 save() 后可以得到主键值
我认为没有那个特定的功能,但除了保存之外,您还可以使用 exists。
$exists = ModelName::find()->where( [ 'id' => 1 ] )->exists();
if($exists) {
//it exists
} else {
//doesn't exist so create record
}
$model = ModelName::findOne(1) ?? new ModelName();
//or
$model = ModelName::find()->where(['id' => 1])->one() ?? new ModelName();
- 如果 'id' 是 primapy 键
- 如果没有