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