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

updateOrCreate 这个到底咋用的啊

updateOrCreate 这个到底咋用的啊

Qyouu 2019-05-24 16:28:32
我再提交一次相同的数据,他还是给我插入一条新的数据而不是更新,文档看得不太懂,望大佬们指点下~~
查看完整描述

2 回答

?
LEATH

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

很多时候看源码就能明白,源码如下:
publicfunctionupdateOrCreate(array$attributes,array$values=[])
{
$instance=$this->firstOrNew($attributes);
$instance->fill($values)->save();
return$instance;
}
参数$attributes是where条件,根据$attributes参数去数据库匹配是否有相关数据,如果没有则新建数据,有就查询出来。
然后再fill参数values的值去保存。
                            
查看完整回答
反对 回复 2019-05-24
?
皈依舞

TA贡献1851条经验 获得超3个赞

//以id来查找,如果有的话就修改更新,没有的话就create
$create_bool=Logistics::updateOrCreate([
'id'=>$model['id'],
],[
'a'=>$model['a'],
'b'=>$model['b'],
'c'=>$model['c'],
'd'=>$model['d'],
'e'=>$model['e'],
]);
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 956 浏览
慕课专栏
更多

添加回答

举报

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