ホームページ >バックエンド開発 >PHPチュートリアル >バングラ語の Laravel Eloquent ORM 部分削除モデル)

バングラ語の Laravel Eloquent ORM 部分削除モデル)

DDD
DDDオリジナル
2025-01-16 20:05:09245ブラウズ

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.複数のレコードの削除:

where 句で delete() メソッドを使用する:

複数のレコードを削除するには、where 句を指定した delete() メソッドを使用します。

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

// 'draft' স্ট্যাটাসের সকল রেকর্ড মুছে ফেলুন
Post::where('status', 'draft')->delete();</code>

3. destroy() メソッドの使用:

destroy() メソッドを使用して 1 つ以上のレコードを削除できます。

<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>

以上がバングラ語の Laravel Eloquent ORM 部分削除モデル)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。