laravel insert 、save、update、create区别(总结二)
1、insert:插入数据时,需要维护 created_at 和 updated_at字段,
2、save:无论插入或者更新,会自动维护,无需手动操作
//插入:
public function store(Request $request)
{
$flight = new Flight; $flight->name = $request->name; $flight->save();
} //更新: $flight = App\Flight::find(1); $flight->name = 'New Flight Name'; $flight->save();
格式: Eloquent实例->save();
插入操作例子中,HTTP 请求的参数 name
赋值给了 App\Flight
模型实例的 name
属性。调用 save
方法,一条记录就会插入数据库。created_at
和 updated_at
时间戳随着 save
方法的调用,会自动维护,无需手动操作。
save
方法也可用于模型更新。更新模型时,需要检索到它,然后设置模型属性,再调用 save
方法。同样地,updated_at
时间戳自动更新,无需手动操作:
3.update:更新操作,自动维护 updated_at字段
也可一并更新查询到的多个模型。这个例子中,所有 active
和 destination
为 San Diego
的航班都被更新为延误:
App\Flight::where('active', 1)
->where('destination', 'San Diego')
->update(['delayed' => 1]);
update
方法接受一个字段为键、更新数据为值的数组
4.create 自动维护 created_at 和 updated_at两个字段
除了 save
和 saveMany
方法外,你还可以使用 create
方法。它接受一个属性数组,同时会创建模型并插入到数据库中。 还有, save
方法和 create
方法的不同之处在于, save
方法接受一个完整的 Eloquent 模型实例,而 create
则接受普通的 PHP 数组:
$post = App\Post::find(1); $comment = $post->comments()->create([
'message' => 'A new comment.',
]);
{tip} 在使用
create
方法前,请务必确保查看过本文档的 批量赋值 章节。
格式:create(【‘字段’=>值,组成的数组】);
参考连接: https://learnku.com/docs/laravel/5.6/eloquent-relationships/1404#3d967c
最新文章
- Android线程之并发处理
- 【php学习之路】字符串操作
- BOM(浏览器对象模型)的一些内置对象总结
- Populating Next Right Pointers in Each Node 解答
- MFC 在对话框显示图片的多种方法
- DDGScreenShot--iOS 图片裁剪,切圆角,加边框,你还用cornerRadius,还有更高级的用法
- [Swift]LeetCode649. Dota2 参议院 | Dota2 Senate
- 在深谈TCP/IP三步握手&;四步挥手原理及衍生问题—长文解剖IP
- Sublime Text3配置
- Win10系列:VC++绘制几何图形4
- 最完整Android Studio插件整理 (转)
- python3 安装使用 fabirc3 模块以及 fab 命令(转)
- C#编程(二十四)----------修饰符
- salt-api使用
- Runtime应用(二)使用对象关联为分类增加属性(每个对象的属性互不干扰)
- Spring Boot学习笔记(五)整合mybatis
- Flip the Bits(思维)
- [吴恩达机器学习笔记]12支持向量机3SVM大间距分类的数学解释
- React-Navigation web前端架构
- Jetty - Container源码分析