laravel seeder factory填充数据

Posted shadowaix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了laravel seeder factory填充数据相关的知识,希望对你有一定的参考价值。

1:/database/factories中UserFactory中修改

$factory->define(AppUser::class, function (Faker $faker) {
return [
‘name‘ => $faker->name,
‘email‘ => $faker->unique()->safeEmail,
‘password‘ =>bcrypt(str_random(10)), // secret
‘remember_token‘ => str_random(10),
];
});

2:先创建users表的seeder;

php artisan make:seeder UsersTableSeeder


3:在/database/seeds/UsersTableSeeder.php;在run()添加调用user类;生成user表中的10个实例

public function run()
{
factory(AppUser::class,10)->create();
}

4:在DataTableSeeder中call()调用UsersTableSeeder
///database/seeds/DataTableSeeder.php
//是对数据填充限制的操作。所以unguard在前,reguard在后,unguard负责解除自动填充操作限制,reguard负责恢复限制。

public function run()
{
Model::unguard();
AppUser::truncate();
$this->call(UsersTableSeeder::class);
Model::reguard();
}

5:生成测试数据

php artisan db:seed //执行所有的seeder
php artisan db:seed --class=你要执行的类名称 //执行某个seeder

 














以上是关于laravel seeder factory填充数据的主要内容,如果未能解决你的问题,请参考以下文章

Laravel5.1 填充数据库

laraver框架学习------工厂模型填充测试数据

Laravel5.1 模型--ModelFactory

Laravel5 使用 JSON 和 Seeder 提供数据库

Laravel DB Seeder 不会在控制台中播种

如何生成测试数据