[铁柱分享]第四期:如何使用 Laravel Eloquent 删除表中的所有信息?

介绍

Laravel 附带的 Eloquent ORM 为你提供了一种与数据库交互的简单方法。 这简化了所有 CRUD(创建、读取、更新和删除)操作和任何其他数据库查询。

在本教程中, 你将学习如何使用 Laravel Eloquent 删除/清空表中的所有条目

我们将在本教程中使用一个称为 Post 示例 的模型 。

使用 truncate 从表中删除所有条目

如果我们正在编写纯 SQL,要从表中删除所有条目,我们可以使用 TRUNCATE 如下函数:

TRUNCATE users;

这基本上会清空整个表,并且还会将自动递增的 ID 重置为零。

为了用 Eloquent 做同样的事情,我们可以使用 DB Facade 如下:

DB::table('posts')->truncate();

或者,你也可以 truncate() 直接在模型上 调用该 方法:

Post::truncate();

使用 delete() 方法 删除所有条目

如果你只想删除某些特定条目,你可以首先按如下方式获取条目:

Post::query()->delete();

使用 delete() 比使用truncate)更多的好处 是你可以指定一些条件,以便你只能删除特定条目而不是所有条目:

Post::where('active', false)->delete();

或者,你也可以使用 DB facade而不是直接调用模型:

DB::table('posts')->delete();

DB::table('posts')->where('active', false)->delete();
本作品采用《CC 协议》,转载必须注明作者和本文链接
乌鸦嘴新手社区 wyz.xyz 为技术新手提供服务
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!