Câu hỏi phỏng vấn Laravel
Câu hỏi

Thực hiện soft delete như thế nào trong Laravel?

Câu trả lời

Trong Laravel, việc thực hiện soft delete cho phép bạn đánh dấu các bản ghi như đã bị xóa mà không thực sự xóa chúng khỏi cơ sở dữ liệu. Điều này được thực hiện bằng cách thêm một cột deleted_at vào bảng của bạn. Khi một bản ghi được soft delete, cột deleted_at sẽ được đánh dấu với một dấu thời gian. Bản ghi này sẽ không xuất hiện trong các kết quả truy vấn thông thường nhưng vẫn có thể được truy xuất nếu cần.

Bước 1: Chuẩn bị Model

Để sử dụng soft deletes, bạn cần đảm bảo rằng model của bạn đã được cấu hình để hỗ trợ tính năng này. Bạn cần sử dụng trait SoftDeletes và khai báo deleted_at trong mảng $dates của model.

php Copy
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\SoftDeletes;

class Post extends Model
{
    use SoftDeletes;

    protected $dates = ['deleted_at'];
}

Bước 2: Cập nhật Schema Database

Bạn cần thêm cột deleted_at vào bảng của bạn. Điều này có thể được thực hiện thông qua migration. Sử dụng phương thức softDeletes trong định nghĩa bảng của bạn.

php Copy
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class AddSoftDeletesToPosts extends Migration
{
    public function up()
    {
        Schema::table('posts', function (Blueprint $table) {
            $table->softDeletes();
        });
...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Laravel events là gì?

senior

Những lợi ích của việc sử dụng Vue.js kết hợp với Laravel là gì?

middle

Eloquent Models trong Laravel là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào