Фейкер для Сеялки Laravel

У меня есть стол users в отношениях один-много с таблицей под названием videos, Я хочу заполнить две таблицы без потери целостности данных. Вот что я сделал ниже:

$factory->define(App\User::class, function (Faker\Generator $faker) {
return [
'name' => $faker->name,
'email' => $faker->email,
'username' => $faker->unique()->userName
];
});

$factory->define(App\Video::class, function(Faker\Generator $faker){
$user = factory(App\User::class)->create();
return [
'title' => $faker->city,
'link' => $faker->domainName,
'user_id' => $user->id,
'description' => $faker->sentence(40)
];
});

Так что теперь все, что мне нужно сделать, это создать VideoTableSeeder и запустить сумму, которую я хочу. Я чувствую, что способ, которым я обращаюсь с этим, не достаточно хорош, поэтому я хотел бы знать, как лучше я могу это сделать. Особенно, я хочу, чтобы видео было больше, чем пользователи, а не одинаковое количество, в том, что я сделал, все они будут одинаковыми.

0

Решение

Оформить документацию в разделе Добавление отношений к моделям

Добавление отношений к моделям

Вы можете даже сохранить несколько моделей в базе данных. В этом примере
мы даже прикрепим отношение к созданным моделям. При использовании
создать метод для создания нескольких моделей, коллекция Eloquent
экземпляр возвращается, что позволяет использовать любой из
функции, предоставляемые коллекцией, такие как каждый:

$users = factory(App\User::class, 3)
->create()
->each(function($u) {
$u->posts()->save(factory(App\Post::class)->make());
});

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]