Методы заполнения базы данных в Laravel примерами кода

Команда «run dbseed laravel» используется в среде Laravel для заполнения базы данных фиктивными данными. Обычно он используется в процессе разработки для заполнения базы данных исходными данными в целях тестирования.

Чтобы запустить заполнение базы данных в Laravel, вы можете выполнить следующие действия:

  1. Создайте новый класс сеялки: Laravel предоставляет команду Artisan db:seedдля запуска сеялок. Чтобы создать новую сеялку, вы можете использовать Artisan-команду make:seeder. Например:
php artisan make:seeder UsersTableSeeder

Это создаст новый класс сеялки UsersTableSeederв каталоге database/seeders.

  1. Определите данные для заполнения: откройте класс заполнения, созданный на предыдущем шаге (в этом примере UsersTableSeeder.php), и определите данные, которые вы хотите заполнить. Вы можете использовать построитель запросов Laravel или Eloquent ORM для создания и вставки записей. Вот пример распределения пользователей:
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class UsersTableSeeder extends Seeder
{
    public function run()
    {
        DB::table('users')->insert([
            [
                'name' => 'John Doe',
                'email' => 'john@example.com',
                'password' => bcrypt('password123'),
            ],
            [
                'name' => 'Jane Smith',
                'email' => 'jane@example.com',
                'password' => bcrypt('password456'),
            ],
            // Add more records as needed
        ]);
    }
}
  1. Запустите программу раздачи. После того как вы определили данные для заполнения, вы можете запустить ее с помощью команды db:seedArtisan. По умолчанию команда db:seedзапускает все раздающие. Если вы хотите запустить определенную сеялку, вы можете использовать опцию --class. Вот как можно запустить сеялки:
php artisan db:seed

или

php artisan db:seed --class=UsersTableSeeder

Эти команды будут выполнять метод runкласса сеялки и заполнять базу данных определенными данными.