[Laravel]seedersより下層のディレクトリ内のSeederを実行する

2025-05-19 | カテゴリー: IT技術

記事のメイン画像

Laravelで、seedersディレクトリ内が以下のファイル階層になっているとします。

└── seeders
    ├── Dev
    │   ├── BusinessTimeSeeder.php
    │   ├── DevDatabaseSeeder.php
    │   ├── MemberSeeder.php
    │   ├── OwnerSeeder.php
    │   ├── RegularHolidaySeeder.php
    │   ├── ReservationSeeder.php
    │   ├── StudioSeeder.php
    │   └── TemporaryClosingDaySeeder.php
    └── Prod
        ├── BusinessTimeSeeder.php
        ├── MemberSeeder.php
        └── ProdDatabaseSeeder.php

そして、ProdDatabaseSeederは下記の内容だとします。

<?php

declare(strict_types=1);

namespace Database\Seeders\Prod;

use Illuminate\Database\Seeder;

class ProdDatabaseSeeder extends Seeder
{
    /**
     * Seed the application's database.
     */
    public function run(): void
    {
        $this->call([
            BusinessTimeSeeder::class,
            MemberSeeder::class,
        ]);
    }
}

この構成でProdDatabaseSeederを実行する場合のartisanコマンドは下記になります。

php artisan db:seed --class=Database\\Seeders\\Prod\\ProdDatabaseSeeder
© Copyright 2025 浅井 All rights reserved.