首頁 > 後端開發 > php教程 > Bangla 部分刪除模型中的 Laravel Eloquent ORM)

Bangla 部分刪除模型中的 Laravel Eloquent ORM)

DDD
發布: 2025-01-16 20:05:09
原創
286 人瀏覽過

Laravel Eloquent ORM in Bangla Part-Deleting Models)

下面詳細介紹了使用 Laravel Eloquent ORM 從資料庫中刪除記錄的不同方法。 它提供了簡單有效的刪除資料的方法。

1。刪除單一記錄:

delete() 方法使用:

可以使用

delete() 方法從資料庫中刪除特定記錄。

<code class="language-php">use App\Models\Post;

// রেকর্ড খুঁজে বের করুন
$post = Post::find(1);

// রেকর্ড মুছে ফেলুন
$post->delete();</code>
登入後複製
登入後複製

記住:刪除後,該記錄將不再存在於資料庫中。

2。刪除多筆記錄:

方法與 wheredelete() 子句一起使用:

要刪除多筆記錄,請使用帶有 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板