>백엔드 개발 >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() 메소드

를 사용하여 하나 이상의 레코드를 삭제할 수 있습니다.
<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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.