生成假数据(Laravel)

1、利用 Laravel 命令 make:factory 来生成工厂类文件

php artisan make:factory StatusFactory

自动生成的代码文件

database/factories/StatusFactory.php

 public function definition()
    {
        $date_time = $this->faker->date . ' ' . $this->faker->time;
        return [
            'user_id'    => $this->faker->randomElement(['1','2','3']),
            'content'    => $this->faker->text(),
            'created_at' => $date_time,
            'updated_at' => $date_time,
        ];
    }

 2.创建一个 StatusesTableSeeder 文件来对微博假数据进行批量生成

php artisan make:seeder StatusesTableSeeder

自动生成的代码文件StatusesTableSeeder

class StatusesTableSeeder extends Seeder
{
    public function run()
    {
        Status::factory()->count(100)->create();
    }
}

 3.在 DatabaseSeeder 类中指定调用微博数据填充文件

class DatabaseSeeder extends Seeder
{
    public function run()
    {
        Model::unguard();

        $this->call(UsersTableSeeder::class);************
        $this->call(StatusesTableSeeder::class);

        Model::reguard();
    }
}

4.最后让我们对数据库进行重置和填充

php artisan migrate:refresh --seed

你可能感兴趣的:(Laravel,laravel,php)