【发布时间】:2019-06-18 10:33:39
【问题描述】:
鉴于以下模型:
Car Model
- parts: hasMany(Parts::class)
Part Model
- car: belongsTo(Car::class)
跑步
Car::find(1)->parts()->saveMany(Part::hydrate($request->parts));
正确返回一个 Parts 列表,3 个有 id,一个没有,所以这是 3 个模型需要更新,一个需要插入。
但是查看我的数据库,没有插入任何一行,并且发出 dd(Car::find(1)->parts) 返回一个空数组。 createMany 有效,但这不会更新具有 id 的模型 - 而是创建新模型。
来自documentation,
如果需要保存多个相关模型,可以使用saveMany方法
...
save和create之间的区别在于save接受一个完整的 Eloquent 模型实例,而 create 接受一个普通的 PHParray
那么createMany 有效但saveMany 无效的原因是什么?
【问题讨论】:
标签: laravel eloquent relationship