Laravel Factories, как их вызывать из файла базы данных - PullRequest
0 голосов
/ 22 февраля 2019

Как вызвать факторные файлы из сеялки базы данных. Я посмотрел на документы 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());
    });

Но это не сработало, поэтому мойВопрос в том, как мне вызвать факторинг из моего файла сеанса базы данных, чтобы я мог выполнить их из командной строки?

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),
];
});

1 Ответ

0 голосов
/ 22 февраля 2019

Заполнение базы данных:

php artisan db:seed  

В пути Laravel ... также, если вы уже посеяли, вы должны очистить (обязательно, если у вас нет данных)

php artisan migrate:refresh 

Осторожно здесь:)

...