如何从数据库播种器调用factorie文件我查看了laravel文档,并尝试使用此代码
https://laravel.com/docs/5.7/seeding
factory(App\User::class, 50)->create()->each(function ($user) {
$user->posts()->save(factory(App\Post::class)->make());
});
但它没有用,所以我的问题是如何从我的数据库播种器文件调用我的factorie所以我可以从命令行执行它们?
databaseseeder
<?php
use Illuminate\Database\Seeder;
class DatabaseSeeder extends Seeder
{
/**
* Seed the application's database.
*
* @return void
*/
public function run()
{
Eloquent::unguard();
$this->call(UserFactory::class);
$this->call(PostFacory::class);
$this->call(ProfileFacory::class);
$this->command->info("Database seeded.");
Eloquent::reguard();
}
}
用户因素
<?php
use Faker\Generator as Faker;
$factory->define(App\User::class, function (Faker $faker) {
return [
'name' => $faker->name,
'email' => $faker->unique()->safeEmail,
'email_verified_at' => now(),
'password' => bcrypt('password'),
'remember_token' => str_random(10),
];
});
数据库播种是
php artisan db:seed
在laravel路径...也如果你已经播种了你必须清理(确定没有重要数据)
php artisan migrate:refresh
小心翼翼:)