Cách lấy dữ liệu đã xóa mềm trong Laravel

Trong bài đăng trên blog này, chúng ta sẽ xem Soft Delete là gì và tại sao chúng ta cần nó trong ứng dụng laravel của mình

Xóa mềm là gì và tại sao chúng tôi sử dụng nó?
Xóa mềm sẽ không xóa hoàn toàn dữ liệu khỏi cơ sở dữ liệu thay vào đó nó sẽ ngăn dữ liệu chọn hoặc đánh dấu bản ghi để xóa.
Ví dụ: nếu chúng tôi vô tình xóa dữ liệu khỏi cơ sở dữ liệu, chúng tôi không thể truy xuất hoặc khôi phục dữ liệu đó một cách dễ dàng và sẽ gây ra sự cố nếu dữ liệu đó đã được sử dụng trong dự án của chúng tôi. Để ngăn chặn nó, laravel cung cấp hỗ trợ cho đặc điểm

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::table['flights', function [Blueprint $table] {
    $table->softDeletes[];
}];

Schema::table['flights', function [Blueprint $table] {
    $table->dropSoftDeletes[];
}];
5 cho phép chức năng xóa mềm. Điều đó có nghĩa là chúng ta có thể thêm Xóa mềm trong mô hình Eloquent của mình.

Hãy để chúng tôi xem làm thế nào để sử dụng nó

Trước tiên, chúng ta cần quyết định xem chúng ta cần đặt mô hình nào và thêm

use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::table['flights', function [Blueprint $table] {
    $table->softDeletes[];
}];

Schema::table['flights', function [Blueprint $table] {
    $table->dropSoftDeletes[];
}];
6 vào mô hình đó với đặc điểm
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

Schema::table['flights', function [Blueprint $table] {
    $table->softDeletes[];
}];

Schema::table['flights', function [Blueprint $table] {
    $table->dropSoftDeletes[];
}];
5 này, đặc điểm này sẽ tự động truyền phiên bản thuộc tính Delete_at DateTime/Carbon cho chúng ta

Ví dụ: chúng tôi có chức năng xóa người dùng thay vì xóa cứng, bây giờ chúng tôi sẽ sử dụng xóa mềm trong mô hình của Người dùng

Sử dụng đoạn mã dưới đây để thêm nó vào ứng dụng của bạn

Chủ Đề