아래에는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!