Xóa mềm là một cách để đánh dấu một bản ghi là đã xóa để chúng ta có thể bỏ qua bản ghi đó khi truy xuất các bản ghi từ bảng đó. Laravel cung cấp đặc điểm SoftDeletes mà chúng ta có thể sử dụng với bất kỳ mô hình hùng hồn nào của Laravel
Lợi ích của xóa mềm là nó không thực sự xóa bản ghi khỏi bảng giống như thao tác xóa. Vì vậy, chúng tôi có thể khôi phục bản ghi đã xóa mềm nếu chúng tôi yêu cầu nó trong tương lai
Thêm tính năng xóa mềm vào mô hình của chúng tôi
1. Thêm cột đã xóa trong bảng cơ sở dữ liệu của chúng tôi
Chúng tôi có thể thực hiện việc này theo cách thủ công bằng bất kỳ công cụ quản trị cơ sở dữ liệu nào hoặc sử dụng di chuyển laravel. Trước tiên hãy tạo một di chuyển và cập nhật theo yêu cầu của chúng tôi
Hãy tạo di chuyển bằng lệnh artisan bên dưới
nghệ nhân php làm. di chuyển add_column_deleted_at –table=trees
Cơ cấu di chuyển sẽ như dưới đây
use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; Schema::table['trees', function [Blueprint $table] { $table->softDeletes[]; }]; Schema::table['trees', function [Blueprint $table] { $table->dropSoftDeletes[]; }];
2. Sử dụng đặc điểm SoftDeletes trong phương thức của chúng tôi
Laravel cung cấp đặc điểm SoftDeletes nên việc thêm chức năng xóa mềm vào bất kỳ mô hình nào rất đơn giản, chỉ cần sử dụng đặc điểm SoftDeletes trong mô hình và thế là xong