[鐵柱分享]第四期:如何使用 Laravel Eloquent 刪除表中的所有資訊?

shebaoting發表於2021-07-07

介紹

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 為技術新手提供服務

相關文章