Laravel Factories如何从您的数据库播种器文件中调用它们

问题描述 投票:0回答:1

如何从数据库播种器调用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 laravel-5.7 laravel-seeding
1个回答
0
投票

数据库播种是

php artisan db:seed  

在laravel路径...也如果你已经播种了你必须清理(确定没有重要数据)

php artisan migrate:refresh 

小心翼翼:)

© www.soinside.com 2019 - 2024. All rights reserved.