Как сделать seeder laravel

Узнайте, как создать seeder в Laravel с примером и максимально упростить свою работу с базами данных. Пошаговый гайд позволит вам сделать все шаги правильно и быстро.

Сидеры в Laravel позволяют вам заполнить базу данных доступными значениями при запуске своего проекта. Это позволяет создать инициализированные данные, которые можно использовать для отладки или тестирования приложения. Кроме того, сидеры могут быть использованы для обновления данных в базе данных в случае, если структура базы данных или содержимое изменились. В этой статье мы рассмотрим, как создавать сидеры и запускать их в Laravel.

Создание Сидера

Для создания сидера вам необходимо воспользоваться командой

php artisan make:seeder
В качестве аргумента передается имя сидера. В данном случае, это users. После того, как команда завершит работу, в директории database/seeds будет создан файл UsersTableSeeder.php, который будет содержать код для заполнения базы данных.

Открываем файл и видим следующий код:

<?php

use IlluminateDatabaseSeeder;

class UsersTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
    }
}

Во время выполнения сидера, метод run() будет автоматически вызываться. Этот метод содержит код, который будет использоваться для заполнения базы данных. В нашем случае, мы будем использовать фабрику для создания тестовых пользователей. Для этого мы добавим следующий код в метод run():

factory(AppUser::class, 50)->create();

В этом примере мы создаем 50 пользователей с помощью фабрики. Вы можете использовать фабрику для создания любого количества записей, которые вы хотите и заполнять их любыми данными, которые вы можете себе представить. Кроме того, вы можете также использовать метод create() для создания предопределенных записей в базе данных.

Запуск Сидера

Когда вы закончите с разработкой вашего сидера, вы можете запустить его с помощью команды

php artisan db:seed
Эта команда запустит все сидеры в директории database/seeds. Если вы хотите запустить определенный сидер, вы можете передать имя сидера в качестве аргумента команде. Например, чтобы запустить наш сидер UsersTableSeeder, вы можете выполнить следующую команду:

php artisan db:seed --class=UsersTableSeeder

После запуска сидера вы можете проверить, что данные были добавлены в базу данных. Таким образом, вы узнаете, что ваш сидер успешно выполнил свою работу.

Ответы (0)