UpdateorCreate和UpdateorInsert不适用于主键id来充当方法中第一个参数
laravel中UpdateorCreate和UpdateorInsert两种方法类似,都是执行查询后存在即更新,不存在即插入的效果。
updateOrCreate 方法会通过给定的键 / 值对来匹配数据库中的数据。如果在数据库中找不到模型,则将插入一条记录,其中包含第一个参数的属性以及可选的第二个参数的属性。
updateOrInsert 方法将首先尝试使用第一个参数的键和值对来查找匹配的数据库记录。 如果记录存在,则使用第二个参数中的值去更新记录。 如果找不到记录,将插入一个新记录,新增的数据是两个数组的集合。
也就是说UpdateorCreate不适合用主键id查询,如果id不存在的话会将不存在的id值(可能为0)插入数据表,势必报错。
posted on 2020-11-09 09:50 liguangzhu 阅读(1369) 评论(0) 编辑 收藏 举报