为了账号安全,请及时绑定邮箱和手机立即绑定

Yii2 ActiveRecord save()方法问题

Yii2 ActiveRecord save()方法问题

Yii
绝地无双 2018-08-08 15:26:54
RT,之前一直以为 ActiveRecord->save 方法 可以当数据不存在时 insert,存在时update,后来在中文官网上看到了这段文档:// 新建一条记录$model = new Customer;if ($model->load(Yii::$app->request->post()) && $model->save()) {    // 获取用户输入的数据,验证并保存}// 更新主键为$id的AR$model = Customer::findOne($id);if ($model === null) {    throw new NotFoundHttpException;}if ($model->load(Yii::$app->request->post()) && $model->save()) {    // 获取用户输入的数据,验证并保存}按照这个逻辑,我现在如果想更新id = 100这条数据信息,如果数据表中没有这条记录,那么$model === null,如此一来,还得先判断,如果为空,实例化一个 $model,然后:$model = new Customer(); $model->id = 100;.....感觉这样不够优雅,还是说我对ActiveRecord的理解有问题?
查看完整描述

2 回答

?
哈士奇WWW

TA贡献1799条经验 获得超6个赞

save是按照表的主键来的,如果你传入了主键就是更新,反之则是添加

查看完整回答
反对 回复 2018-08-12
?
繁花如伊

TA贡献2012条经验 获得超12个赞

查看完整回答
反对 回复 2018-08-12
  • 2 回答
  • 0 关注
  • 1971 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信