Introduction

Today, I speak How use seeder and factory in laravel

1. Usage

  • Factory is helper us create data in database auto.
  • Factory giống như 1 cái nhà máy giúp ta tạo ra các dữ liệu
  • Trong file ModelFactory trong thư mục database/factories ta định nghĩa các loại dữ liệu tương ứng với các trường trong database tương ứng . ở đây chúng ta sử dụng 1 thư viện tạo ra dữ liệu đúng với loại tương ứng với field trong đatabase. Ví dụ với field email ta sẽ sử dụng $fake->email để tạo dữ liệu Có rất kiểu dữ liệu mà bạn sẽ tìm hiểu tại đây: (https://github.com/fzaninotto/Faker)

2. Các bước để tạo dữ liệu fake cho cơ sở dữ liệu

B1: Bạn phải tạo Seeders = command sau: php artisan make:seeder PostTableSeeder

Sẽ tạo ra file PostTableSeeder trong database/seeds File này bạn có thể hình dùng là người điều khiển cho cái máy factory làm việc

B2: Tạo factory Trong file ModelFactory.php trong database/factories

	$factory->define(App\Posts::class, function (Faker\Generator $faker) {
    static $password;

    return [
        'email' => $faker->unique()->email
    ];
	});

Định ngĩa với trường email với $faker tạo ra các email

B3: Gọi người Seed trong file DatabaseSeeder trong database/seeds trong method run();

	public function run()
    {
     	$this->call(PostTableSeeder::class);
    }

B4: Run artisan: php artisan migrate:refresh –seed