下面詳細介紹了使用 Laravel Eloquent ORM 從資料庫中刪除記錄的不同方法。 它提供了簡單有效的刪除資料的方法。
1。刪除單一記錄:
delete()
方法使用:delete()
方法從資料庫中刪除特定記錄。
<code class="language-php">use App\Models\Post; // রেকর্ড খুঁজে বের করুন $post = Post::find(1); // রেকর্ড মুছে ফেলুন $post->delete();</code>
記住:刪除後,該記錄將不再存在於資料庫中。
2。刪除多筆記錄:
將where
delete()
子句一起使用:要刪除多筆記錄,請使用帶有 where
子句的 delete()
方法。
<code class="language-php">use App\Models\Post; // 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন Post::where('status', 'draft')->delete();</code>
3。使用destroy()
方法:
destroy()
方法刪除一條或多筆記錄。
<code class="language-php">use App\Models\Post; // একক রেকর্ড মুছে ফেলুন Post::destroy(1); // একাধিক রেকর্ড মুছে ফেলুন Post::destroy([2, 3, 4]);</code>
記住: destroy()
方法直接使用主鍵刪除記錄。
4。使用模型事件:
模型事件 刪除 Eloquent 模型時觸發。
deleting
deleted
<code class="language-php">class Post extends Model { protected static function booted() { static::deleting(function ($post) { // মুছে ফেলার আগে করণীয় কাজ Log::info('Post is being deleted: ' . $post->id); }); static::deleted(function ($post) { // মুছে ফেলার পর করণীয় কাজ Log::info('Post deleted: ' . $post->id); }); } }</code>
5。軟刪除:
什麼是軟體刪除?列中附加時間戳來物理刪除的。 deleted_at
特徵加入到 SoftDeletes
模型中。
<code class="language-php">use App\Models\Post; // রেকর্ড খুঁজে বের করুন $post = Post::find(1); // রেকর্ড মুছে ফেলুন $post->delete();</code>
<code class="language-php">use App\Models\Post; // 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন Post::where('status', 'draft')->delete();</code>
<code class="language-php">use App\Models\Post; // একক রেকর্ড মুছে ফেলুন Post::destroy(1); // একাধিক রেকর্ড মুছে ফেলুন Post::destroy([2, 3, 4]);</code>
<code class="language-php">class Post extends Model { protected static function booted() { static::deleting(function ($post) { // মুছে ফেলার আগে করণীয় কাজ Log::info('Post is being deleted: ' . $post->id); }); static::deleted(function ($post) { // মুছে ফেলার পর করণীয় কাজ Log::info('Post deleted: ' . $post->id); }); } }</code>
withTrashed()
:傳回軟刪除和未刪除的記錄。 onlyTrashed()
:僅恢復軟體刪除的記錄。 6。直接從資料庫刪除:
可以使用 Laravel 的 DB
外觀透過 SQL 查詢直接刪除記錄。
<code class="language-php">use Illuminate\Database\Eloquent\SoftDeletes; class Post extends Model { use SoftDeletes; protected $dates = ['deleted_at']; }</code>
以上是Bangla 部分刪除模型中的 Laravel Eloquent ORM)的詳細內容。更多資訊請關注PHP中文網其他相關文章!