Laravel10 使用$model->fill($data = []) 快速填充模型数据

参考

环境

软件/系统 版本 说明
windows 10
php 8.1.9-Win32-vs16-x64
composer 2.5.5
laravel 10.8.0
mysql 8.0.28

注意

通过 Eloquent 批量更新时,不会触发模型的 saving、saved、updating 和 updated 模型事件。 这是因为在批量更新时从未真正检索到模型。 https://learnku.com/docs/laravel/10.x/eloquentmd/14888#observers

如果使用模型属性逐个赋值就比较麻烦,所以使用 fill 进行快速填充属性数据。
另外使用批量更新不会触发观察者事件,所以有大量字段的情况下也建议 fill 进行填充数据

代码

User::findOrFail($request->input("id"))->fill($request->all())->save();
posted @ 2023-05-16 11:00  夏秋初  阅读(509)  评论(0)    收藏  举报