介绍
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();