Tạo dữ liệu bằng cách sử dụng Seeder trong Laravel

Trong Laravel, Seeder được sử dụng để điền dữ liệu ban đầu hoặc dữ liệu giả vào cơ sở dữ liệu. Seeder cung cấp một cách tiện lợi để tạo và chèn dữ liệu vào các bảng cơ sở dữ liệu. Dưới đây là hướng dẫn chi tiết về việc sử dụng Seeder trong Laravel:

 

Tạo Seeder

Để tạo một Seeder mới, bạn có thể sử dụng lệnh Artisan make:seeder. Ví dụ, để tạo một Seeder cho bảng "users", chạy lệnh sau:

php artisan make:seeder UsersTableSeeder

 

Định nghĩa Dữ liệu

Mở file Seeder được tạo ra trong thư mục "database/seeders". Trong phương thức run, bạn có thể định nghĩa dữ liệu mà bạn muốn điền vào cơ sở dữ liệu. Bạn có thể sử dụng query builder hoặc Eloquent ORM trong Laravel để chèn dữ liệu.

public function run()
{
    DB::table('users')->insert([
        [
            'name' => 'John Doe',
            'email' => '[email protected]',
            'password' => bcrypt('password123'),
        ],
        [
            'name' => 'Jane Doe',
            'email' => '[email protected]',
            'password' => bcrypt('password456'),
        ],
        // Thêm dữ liệu khác nếu cần
    ]);
}

 

Chạy Seeder

Để thực thi Seeder và chèn dữ liệu vào cơ sở dữ liệu, sử dụng lệnh Artisan db:seed. Mặc định, tất cả các Seeder sẽ được chạy. Nếu bạn muốn chạy một Seeder cụ thể, bạn có thể sử dụng tùy chọn --class.

php artisan db:seed

 

Seeder và Rollback

Seeder cũng có thể được rollback tương tự như migration. Để hoàn tác batch Seeder cuối cùng, bạn có thể sử dụng lệnh db:seed --class với tùy chọn --reverse.

 

Việc sử dụng Seeder trong Laravel giúp bạn dễ dàng điền dữ liệu ban đầu hoặc tạo dữ liệu giả cho mục đích kiểm thử. Nó cho phép bạn nhanh chóng chèn dữ liệu vào bảng mà không cần thao tác thủ công.