Часто для тестов и/или демонстрации необходимо создать несколько тестовых записей. И желательно чтобы они был человеко читаемыми, а не набором символов.
Для этого в Laravel есть заводы (Model factory) и пакет Faker
Есть отдельная статья для Laravel 8
Можно создать свой отдельный завод, но для простоты демонстрации воспользуемся уже готовым.
Внимание: Если у Вас еще нет модели, для которой и будут генерироваться данные, то сначала ознакомиться со статьей.
Открываем файл database/factories/UserFactory.php и добавляем в начало:
и дальше:
$factory->define(Post::class, function (Faker $faker) {
return [
'title' => $faker->sentence(5),
'img' => '/uploads/img/gif.gif',
'text' => $faker->text,
'published' => $faker->numberBetween(0, 1),
'category_id' => $faker->numberBetween(1, 10),
'date' => $faker->date('Y-m-d', 'now'),
];
});
Теперь нужно вызвать данный метод. Можно создать отдельный контроллер и прописать для него роут, но есть способ проще.
Подключаемся к серверу по SSH и выполняем:
После получения приглашения выполняем:
factory(App\Post::class, 10)->create()
- где 10, это количество записей которые нужно создать.