LaravelのSeederを使ってデータベースに全都道府県とそれに付随する市町村データを入れてみた

# はじめに
今回はLaravelを使って、都道府県と市町村データを全て挿入するコードの一例を紹介します。

## 前提条件
PHP 8.3
Laravel 11.4

## 実装方法について

都道府県と市町村のマイグレーションファイルはこんな感じ↓

```php:都道府県のマイグレーションファイル
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('prefectures', function (Blueprint $table) {
            $table->id();
            $table->string('name')->comment('都道府県名');
            $table->timestamps();
            $table->softDeletes();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('prefectures');
    }
};
```

```php:市町村のマイグレーションファイル
<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
    /**
     * Run the migrations.
     */
    public function up(): void
    {
        Schema::create('municipalities', function (Blueprint $table) {
            $table->id();
            $table->foreignId('prefecture_id')->constrained();
            $table->string('name')->comment('市町村名');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     */
    public function down(): void
    {
        Schema::dropIfExists('municipalities');
    }
};
```

Seederファイルはこんな感じ↓

```php:都道府県のSeederファイル
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class PrefecturesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        $prefectures = [
            '北海道',
            '青森県',
            '岩手県',
            '宮城県',
            '秋田県',
            '山形県',
            '福島県',
            '茨城県',
            '栃木県',
            '群馬県',
            '埼玉県',
            '千葉県',
            '東京都',
            '神奈川県',
            '新潟県',
            '富山県',
            '石川県',
            '福井県',
            '山梨県',
            '長野県',
            '岐阜県',
            '静岡県',
            '愛知県',
            '三重県',
            '滋賀県',
            '京都府',
            '大阪府',
            '兵庫県',
            '奈良県',
            '和歌山県',
            '鳥取県',
            '島根県',
            '岡山県',
            '広島県',
            '山口県',
            '徳島県',
            '香川県',
            '愛媛県',
            '高知県',
            '福岡県',
            '佐賀県',
            '長崎県',
            '熊本県',
            '大分県',
            '宮崎県',
            '鹿児島県',
            '沖縄県'
        ];

        foreach ($prefectures as $prefecture) {
            DB::table('prefectures')->insert(['name' => $prefecture]);
        }
    }
}
```


```php:市町村のSeederファイル
<?php

namespace Database\Seeders;

use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;

class MunicipalSeeder extends Seeder
{
    /**
     * Run the database seeds.
     */
    public function run(): void
    {
        // 全ての都道府県を取得
        $prefectures = DB::table('prefectures')->select('id', 'name')->get();
        
        // 都道府県ごとの市町村データ
        $municipalitiesData = [
            // 北海道エリア
            '北海道' => $this->getHokkaido(),
            
            // 東北エリア
            '青森県' => $this->getAomori(),
            '岩手県' => $this->getIwate(),
            '宮城県' => $this->getMiyagi(),
            '秋田県' => $this->getAkita(),
            '山形県' => $this->getYamagata(),
            '福島県' => $this->getFukushima(),
            
            // 関東エリア
            '東京都'   => $this->getTokyo(),
            '茨城県'   => $this->getIbaragi(),
            '栃木県'   => $this->getTochigi(),
            '群馬県'   => $this->getGunma(),
            '埼玉県'   => $this->getSaitama(),
            '千葉県'   => $this->getChiba(),
            '神奈川県' => $this->getKanagawa(),
            '山梨県'   => $this->getYamanashi(),
            '長野県'   => $this->getNagano(),
            
            // 北陸エリア
            '新潟県' => $this->getNiigata(),
            '富山県' => $this->getToyama(),
            '石川県' => $this->getIshikawa(),
            '福井県' => $this->getFukui(),
            
            // 中部エリア
            '愛知県' => $this->getAichi(),
            '岐阜県' => $this->getGifu(),
            '静岡県' => $this->getShizuoka(),
            '三重県' => $this->getMie(),
            
            // 近畿エリア
            '大阪府'   => $this->getOsaka(),
            '滋賀県'   => $this->getShiga(),
            '京都府'   => $this->getKyoto(),
            '兵庫県'   => $this->getHyogo(),
            '奈良県'   => $this->getNara(),
            '和歌山県' => $this->getWakayama(),
            
            // 中国エリア
            '広島県' => $this->getHiroshima(),
            '鳥取県' => $this->getTottori(),
            '島根県' => $this->getShimane(),
            '岡山県' => $this->getOkayama(),
            '山口県' => $this->getYamaguchi(),
            
            // 四国エリア
            '香川県' => $this->getKagawa(),
            '徳島県' => $this->getTokushima(),
            '愛媛県' => $this->getEhime(),
            '高知県' => $this->getKouchi(),
            
            // 九州エリア
            '福岡県'   => $this->getFukuoka(),
            '佐賀県'   => $this->getSaga(),
            '長崎県'   => $this->getNagasaki(),
            '熊本県'   => $this->getKumamoto(),
            '大分県'   => $this->getOita(),
            '宮崎県'   => $this->getMiyazaki(),
            '鹿児島県' => $this->getKagoshima(),
            
            // 沖縄エリア
            '沖縄県' => $this->getOkinawa(),
        ];

        // 市町村データを挿入
        foreach ($prefectures as $prefecture) {
            if (isset($municipalitiesData[$prefecture->name])) {
                $municipalities = $municipalitiesData[$prefecture->name];

                foreach ($municipalities as $item) {
                    DB::table('municipalities')->insert([
                        'prefecture_id' => $prefecture->id,
                        'name'          => $item
                    ]);
                }
            }
        }
    }
        
    /**
     * 沖縄の市町村を取得する
     *
     * @return array
     */
    private function getOkinawa(): array
    {
        return [
            '那覇市', '宜野湾市', '石垣市', '浦添市', '名護市', '糸満市', '沖縄市', '豊見城市', 'うるま市', '宮古島市', '南城市',
            '国頭村', '大宜味村', '東村', '今帰仁村', '本部町', '恩納村', '宜野座村', '金武町', '伊江村',
            '読谷村', '嘉手納町', '北谷町', '北中城村', '中城村', '西原町',
            '与那原町', '南風原町', '久米島町', '渡嘉敷村', '座間味村', '粟国村', '渡名喜村', '南大東村', '北大東村', '伊平屋村', '伊是名村', '八重瀬町',
            '多良間村',
            '竹富町', '与那国町'
        ];
    }
        
    /**
     * 福岡の市町村を取得する
     *
     * @return array
     */
    private function getFukuoka(): array
    {
        return [
            '赤村', '朝倉市', '芦屋町', '飯塚市', '糸島市', '糸田町', 'うきは市', '宇美町', '大川市', '大木町', '大任町', '大野城市', '大牟田市', '岡垣町', '小郡市', '遠賀町',
            '春日市', '粕屋町', '嘉麻市', '川崎町', '香春町', '苅田町', '北九州市', '鞍手町', '久留米市', '桂川町', '上毛町', '古賀市', '小竹町',
            '篠栗町', '志免町', '新宮町', '須恵町', '添田町',
            '田川市', '太宰府市', '大刀洗町', '筑後市', '筑紫野市', '築上町', '筑前町', '東峰村',
            '那珂川市', '中間市', '直方市',
            '久山町', '広川町', '福岡市', '福智町', '福津市', '豊前市',
            '水巻町', 'みやこ町', 'みやま市', '宮若市', '宗像市',
            '柳川市', '八女市', '行橋市', '吉富町'
        ];
    }
        
    /**
     * 佐賀県の市町村を取得する
     *
     * @return array
     */
    private function getSaga(): array
    {
        return [
            '佐賀市', '唐津市', '鳥栖市', '多久市', '伊万里市', '武雄市', '鹿島市', '小城市', '嬉野市', '神埼市',
            '吉野ヶ里町', '基山町', '上峰町', 'みやき町', '玄海町', '有田町', '大町町', '江北町', '白石町', '太良町'
        ];
    }
        
    /**
     * 長崎県の市町村を取得する
     *
     * @return array
     */
    private function getNagasaki(): array
    {
        return [
            '長崎市', '佐世保市', '島原市', '諫早市', '大村市', '平戸市', '松浦市', '対馬市', '壱岐市', '五島市',
            '西海市', '雲仙市', '南島原市', '長与町', '時津町', '東彼杵町', '川棚町', '波佐見町', '小値賀町', '佐々町', '新上五島町'
        ];
    }
        
    /**
     * 熊本県の市町村を取得する
     *
     * @return array
     */
    private function getKumamoto(): array
    {
        return [
            '熊本市', '八代市', '人吉市', '荒尾市', '水俣市', '玉名市', '山鹿市', '菊池市', '宇土市', '上天草市', '宇城市', '阿蘇市', '合志市',
            '美里町', '玉東町', '和水町', '南関町', '長洲町', '大津町', '菊陽町', '南小国町', '小国町', '産山村', '高森町', '南阿蘇村', '西原村', '御船町',
            '嘉島町', '益城町', '甲佐町', '山都町', '氷川町', '芦北町', '津奈木町', '錦町', 'あさぎり町', '多良木町', '湯前町', '水上村', '相良村', '五木村',
            '山江村', '球磨村', '苓北町'
        ];
    }
        
    /**
     * 大分県の市町村を取得する
     *
     * @return array
     */
    private function getOita(): array
    {
        return [
            '大分市', '別府市', '中津市', '日田市', '佐伯市', '臼杵市', '津久見市', '竹田市', '豊後高田市', '杵築市', '宇佐市', '豊後大野市', '由布市', '国東市',
            '姫島村', '日出町', '九重町', '玖珠町'
        ];
    }
        
    /**
     * 宮崎県の市町村を取得する
     *
     * @return array
     */
    private function getMiyazaki(): array
    {
        return [
            '宮崎市', '都城市', '延岡市', '日南市', '小林市', '日向市', '串間市', '西都市', 'えびの市',
            '三股町', '高原町', '国富町', '綾町', '高鍋町', '新富町', '西米良村', '木城町', '川南町', '都農町',
            '門川町', '諸塚村', '椎葉村', '美郷町', '高千穂町', '日之影町', '五ヶ瀬町'
        ];
    }
        
    /**
     * 鹿児島県の市町村を取得する
     *
     * @return array
     */
    private function getKagoshima(): array
    {
        return [
            '鹿児島市', '鹿屋市', '枕崎市', '阿久根市', '出水市', '指宿市', '西之表市', '垂水市', '薩摩川内市', '日置市', 
            '曽於市', '霧島市', 'いちき串木野市', '南さつま市', '志布志市', '奄美市', '南九州市', '伊佐市', '姶良市', 
            '三島村', '十島村', 'さつま町', '長島町', '湧水町', '大崎町', '東串良町', '錦江町', '南大隅町', '肝付町'
        ];
    }
        
    /**
     * 広島の市町村を取得する
     *
     * @return array
     */
    private function getHiroshima(): array
    {
        return [
            '広島市', '呉市', '竹原市', '三原市', '尾道市', '福山市', '府中市', '三次市', '庄原市', '大竹市', '東広島市', '廿日市市', '安芸高田市', '江田島市',
            '府中町', '海田町', '熊野町', '坂町', '安芸太田町', '北広島町', '大崎上島町', '世羅町', '神石高原町'
        ];
    }
        
    /**
     * 鳥取県の市町村を取得する
     *
     * @return array
     */
    private function getTottori(): array
    {
        return [
            '鳥取市', '米子市', '倉吉市', '境港市', '岩美町', '若桜町', '智頭町', '八頭町', '三朝町', '湯梨浜町', '琴浦町', '北栄町', '日吉津村', '大山町', '南部町', '伯耆町', '日南町', '日野町', '江府町'
        ];
    }
        
    /**
     * 島根県の市町村を取得する
     *
     * @return array
     */
    private function getShimane(): array
    {
        return [
            '松江市', '浜田市', '出雲市', '益田市', '大田市', '安来市', '江津市', '雲南市',
            '奥出雲町', '飯南町', '川本町', '美郷町', '邑南町', '津和野町', '吉賀町',
            '海士町', '西ノ島町', '知夫村', '隠岐の島町'
        ];
    }
        
    /**
     * 岡山県の市町村を取得する
     *
     * @return array
     */
    private function getOkayama(): array
    {
        return [
            '岡山市', '倉敷市', '津山市', '玉野市', '笠岡市', '井原市', '総社市', '高梁市', '新見市', '備前市', 
            '瀬戸内市', '赤磐市', '真庭市', '美作市', '浅口市', '和気町', '早島町', '里庄町', '矢掛町', '新庄村', 
            '鏡野町', '勝央町', '奈義町', '西粟倉村', '久米南町', '美咲町', '吉備中央町'
        ];
    }
        
    /**
     * 山口県の市町村を取得する
     *
     * @return array
     */
    private function getYamaguchi(): array
    {
        return [
            '下関市', '宇部市', '山口市', '萩市', '防府市', '下松市', '岩国市', '光市', '長門市', '柳井市', 
            '美祢市', '周南市', '山陽小野田市', '周防大島町', '和木町', '上関町', '田布施町', '平生町', '阿武町'
        ];
    }
        
    /**
     * 香川県の市町村を取得する
     *
     * @return array
     */
    private function getKagawa(): array
    {
        return [
            '高松市', '丸亀市', '坂出市', '善通寺市', '観音寺市', 'さぬき市', '東かがわ市', '三豊市',
            '土庄町', '小豆島町', '三木町', '直島町', '宇多津町', '綾川町', '琴平町', '多度津町', 'まんのう町'
        ];
    }
        
    /**
     * 徳島県の市町村を取得する
     *
     * @return array
     */
    private function getTokushima(): array
    {
        return [
            '徳島市', '鳴門市', '小松島市', '阿南市', '吉野川市', '阿波市', '美馬市', '三好市',
            '勝浦町', '上勝町', '佐那河内村', '石井町', '神山町', '那賀町', '牟岐町', '美波町', '海陽町',
            '松茂町', '北島町', '藍住町', '板野町', '上板町', 'つるぎ町', '東みよし町'
        ];
    }
        
    /**
     * 愛媛県の市町村を取得する
     *
     * @return array
     */
    private function getEhime(): array
    {
        return [
            '今治市', '新居浜市', '西条市', '四国中央市', '上島町',
            '松山市', '伊予市', '東温市', '久万高原町', '松前町', '砥部町',
            '宇和島市', '八幡浜市', '大洲市', '西予市', '内子町', '伊方町', '松野町', '鬼北町', '愛南町'
        ];
    }
        
    /**
     * 高知県の市町村を取得する
     *
     * @return array
     */
    private function getKouchi(): array
    {
        return [
            '高知市', '室戸市', '安芸市', '南国市', '土佐市', '須崎市', '宿毛市', '土佐清水市', '四万十市', '香南市', '香美市',
            '東洋町', '奈半利町', '田野町', '安田町', '北川村', '馬路村', '芸西村', '本山町', '大豊町', '土佐町', '大川村',
            'いの町', '仁淀川町', '中土佐町', '佐川町', '越知町', '檮原町', '日高村', '津野町', '四万十町', '大月町', '三原村', '黒潮町'
        ];
    }
        
    /**
     * 大阪の市町村を取得する
     *
     * @return array
     */
    private function getOsaka(): array
    {
        return [
            '大阪市', '堺市', '能勢町', '豊能町', '池田市', '箕面市', '豊中市', '茨木市', '高槻市', '島本町', 
            '吹田市', '摂津市', '枚方市', '交野市', '寝屋川市', '守口市', '門真市', '四條畷市', '大東市', 
            '東大阪市', '八尾市', '柏原市', '和泉市', '高石市', '泉大津市', '忠岡町', '岸和田市', '貝塚市', 
            '熊取町', '泉佐野市', '田尻町', '泉南市', '阪南市', '岬町', '松原市', '羽曳野市', '藤井寺市', 
            '太子町', '河南町', '千早赤阪村', '富田林市', '大阪狭山市', '河内長野市'
        ];
    }
        
    /**
     * 滋賀県の市町村を取得する
     *
     * @return array
     */
    private function getShiga(): array
    {
        return [
            '高島市', '長浜市', '米原市', '彦根市', '近江八幡市', '東近江市', '日野町', '竜王町', 
            '愛荘町', '豊郷町', '甲良町', '多賀町', '大津市', '草津市', '守山市', '栗東市', 
            '甲賀市', '野洲市', '湖南市'
        ];
    }
        
    /**
     * 京都府の市町村を取得する
     *
     * @return array
     */
    private function getKyoto(): array
    {
        return [
            '京都市', '福知山市', '舞鶴市', '綾部市', '宇治市', '宮津市', '亀岡市', '城陽市',
            '向日市', '長岡京市', '八幡市', '京田辺市', '京丹後市', '南丹市', '木津川市',
            '大山崎町', '久御山町', '井手町', '宇治田原町', '笠置町', '和束町', '精華町', '南山城村',
            '京丹波町', '伊根町', '与謝野町'
        ];
    }
        
    /**
     * 兵庫県の市町村を取得する
     *
     * @return array
     */
    private function getHyogo(): array
    {
        return [
            '神戸市', '尼崎市', '西宮市', '芦屋市', '伊丹市', '宝塚市', '川西市', '三田市', '猪名川町',
            '明石市', '加古川市', '高砂市', '稲美町', '播磨町', '西脇市', '三木市', '小野市', '加西市',
            '加東市', '多可町', '姫路市', '神河町', '市川町', '福崎町', '相生市', 'たつの市', '赤穂市',
            '宍粟市', '太子町', '上郡町', '佐用町', '豊岡市', '養父市', '朝来市', '香美町', '新温泉町',
            '丹波篠山市', '丹波市', '洲本市', '南あわじ市', '淡路市'
        ];
    }
        
    /**
     * 奈良県の市町村を取得する
     *
     * @return array
     */
    private function getNara(): array
    {
        return [
            '奈良市', '大和高田市', '大和郡山市', '天理市', '橿原市', '桜井市', '五條市', '御所市', '生駒市', '香芝市', 
            '葛城市', '宇陀市', '山添村', '平群町', '三郷町', '斑鳩町', '安堵町', '川西町', '三宅町', '田原本町', 
            '曽爾村', '御杖村', '高取町', '明日香村', '上牧町', '王寺町', '広陵町', '河合町', '吉野町', '大淀町', 
            '下市町', '黒滝村', '天川村', '野迫川村', '十津川村', '下北山村', '上北山村', '川上村', '東吉野村'
        ];
    }
        
    /**
     * 和歌山県の市町村を取得する
     *
     * @return array
     */
    private function getWakayama(): array
    {
        return [
            '和歌山市', '海南市', '橋本市', '有田市', '御坊市', '田辺市', '新宮市', '紀の川市', '岩出市',
            '紀美野町', 'かつらぎ町', '九度山町', '高野町', '湯浅町', '広川町', '有田川町', '美浜町', '日高町', 
            '由良町', '印南町', 'みなべ町', '日高川町', '白浜町', '上富田町', 'すさみ町', '那智勝浦町', '太地町', 
            '古座川町', '北山村', '串本町'
        ];
    }
        
    /**
     * 愛知の市町村を取得する
     *
     * @return array
     */
    private function getAichi(): array
    {
        return [
            '名古屋市', '一宮市', '瀬戸市', '春日井市', '犬山市', '江南市', '小牧市', '稲沢市', '尾張旭市', '岩倉市', '豊明市',
            '日進市', '清須市', '北名古屋市', '長久手市', '東郷町', '豊山町', '大口町', '扶桑町',
            '津島市', '愛西市', '弥富市', 'あま市', '大治町', '蟹江町', '飛島村',
            '半田市', '常滑市', '東海市', '大府市', '知多市', '阿久比町', '東浦町', '南知多町', '美浜町', '武豊町',
            '岡崎市', '碧南市', '刈谷市', '豊田市', '安城市', '西尾市', '知立市', '高浜市', 'みよし市', '幸田町',
            '豊橋市', '豊川市', '蒲郡市', '新城市', '田原市', '設楽町', '東栄町', '豊根村'
        ];
    }
        
    /**
     * 岐阜県の市町村を取得する
     *
     * @return array
     */
    private function getGifu(): array
    {
        return [
            '安八町', '池田町', '揖斐川町', '恵那市', '大垣市', '大野町', '海津市', '各務原市', '笠松町', '可児市', 
            '川辺町', '北方町', '岐南町', '岐阜市', '郡上市', '下呂市', '神戸町', '坂祝町', '白川町', '白川村', 
            '関ケ原町', '関市', '高山市', '多治見市', '垂井町', '土岐市', '富加町', '中津川市', '羽島市', 
            '東白川村', '飛騨市', '七宗町', '瑞浪市', '瑞穂市', '御嵩町', '美濃加茂市', '美濃市', '本巣市', 
            '八百津町', '山県市', '養老町', '輪之内町'
        ];
    }
        
    /**
     * 静岡県の市町村を取得する
     *
     * @return array
     */
    private function getShizuoka(): array
    {
        return [
            '浜松市', '磐田市', '掛川市', '袋井市', '湖西市', '御前崎市', '菊川市', '森町',
            '静岡市', '島田市', '焼津市', '藤枝市', '牧之原市', '吉田町', '川根本町',
            '沼津市', '熱海市', '三島市', '富士宮市', '富士市', '裾野市', '御殿場市', '伊東市', '伊豆市', '伊豆の国市', '函南町', '清水町', '長泉町', '小山町',
            '下田市', '東伊豆町', '河津町', '南伊豆町', '松崎町', '西伊豆町'
        ];
    }
        
    /**
     * 三重県の市町村を取得する
     *
     * @return array
     */
    private function getMie(): array
    {
        return [
            '桑名市', 'いなべ市', '木曽岬町', '東員町',
            '四日市市', '菰野町', '朝日町', '川越町',
            '鈴鹿市', '亀山市',
            '津市',
            '松阪市', '多気町', '明和町', '大台町',
            '伊勢市', '鳥羽市', '志摩市', '玉城町',
            '度会町', '大紀町', '南伊勢町',
            '伊賀市', '名張市',
            '尾鷲市', '紀北町',
            '熊野市', '御浜町', '紀宝町'
        ];
    }
        
    /**
     * 新潟県の市町村を取得する
     *
     * @return array
     */
    private function getNiigata(): array
    {
        return [
            '阿賀野市', '阿賀町', '粟島浦村', '出雲崎町', '糸魚川市', '魚沼市', '小千谷市',
            '柏崎市', '刈羽村', '加茂市', '五泉市',
            '佐渡市', '三条市', '新発田市', '上越市', '聖籠町', '関川村',
            '胎内市', '田上町', '津南町', '燕市', '十日町市',
            '長岡市', '新潟市',
            '見附市', '南魚沼市', '妙高市', '村上市',
            '弥彦村', '湯沢町'
        ];
    }
        
    /**
     * 富山県の市町村を取得する
     *
     * @return array
     */
    private function getToyama(): array
    {
        return [
            '富山市', '高岡市', '射水市', '魚津市', '氷見市', '滑川市', '黒部市', '砺波市', '小矢部市', '南砺市', '舟橋村', '上市町', '立山町', '入善町', '朝日町'
        ];
    }
        
    /**
     * 石川県の市町村を取得する
     *
     * @return array
     */
    private function getIshikawa(): array
    {
        return [
            '輪島市', '珠洲市', '穴水町', '能登町', '七尾市', '羽咋市', '志賀町', '宝達志水町', '中能登町', '金沢市', 'かほく市', '白山市', '野々市市', '津幡町', '内灘町', '小松市', '加賀市', '能美市', '川北町'
        ];
    }
        
    /**
     * 福井県の市町村を取得する
     *
     * @return array
     */
    private function getFukui(): array
    {
        return [
            'あわら市', '池田町', '永平寺町', '越前市', '越前町', 'おおい町', '大野市', '小浜市', '勝山市', '坂井市', 
            '鯖江市', '高浜町', '敦賀市', '福井市', '南越前町', '美浜町', '若狭町'
        ];
    }
        
    /**
     * 東京都の区市町村を取得する
     *
     * @return array
     */
    private function getTokyo(): array
    {
        return [
            '千代田区', '中央区', '港区', '新宿区', '文京区', '台東区', '墨田区', '江東区', '品川区', '目黒区', '大田区', '世田谷区',
            '渋谷区', '中野区', '杉並区', '豊島区',
            '北区', '荒川区', '板橋区', '練馬区',
            '足立区', '葛飾区', '江戸川区',
            '八王子市', '立川市', '武蔵野市', '三鷹市', '青梅市', '府中市', '昭島市', '調布市',
            '町田市', '小金井市', '小平市', '日野市',
            '東村山市', '国分寺市', '国立市', '西東京市',
            '福生市', '狛江市', '東大和市', '清瀬市',
            '東久留米市', '武蔵村山市', '多摩市', '稲城市',
            '羽村市', 'あきる野市', '瑞穂町', '日の出町',
            '奥多摩町', '檜原村',
            '大島町', '新島村', '三宅村', '八丈町', '利島村', '神津島村', '御蔵島村', '青ヶ島村',
            '小笠原村'
        ];
    }
        
    /**
     * 茨城県の区市町村を取得する
     *
     * @return array
     */
    private function getIbaragi(): array
    {
        return [
            '水戸市', '日立市', '土浦市', '古河市', '石岡市', '結城市', '龍ケ崎市', '下妻市', '常総市', '常陸太田市', 
            '高萩市', '北茨城市', '笠間市', '取手市', '牛久市', 'つくば市', 'ひたちなか市', '鹿嶋市', '潮来市', '守谷市', 
            '常陸大宮市', '那珂市', '筑西市', '坂東市', '稲敷市', 'かすみがうら市', '桜川市', '神栖市', '行方市', '鉾田市', 
            'つくばみらい市', '小美玉市', '茨城町', '大洗町', '城里町', '東海村', '大子町', '美浦村', '阿見町', '河内町',
            '八千代町', '五霞町', '境町', '利根町'
        ];
    }
        
    /**
     * 栃木県の区市町村を取得する
     *
     * @return array
     */
    private function getTochigi(): array
    {
        return [
            '宇都宮市', '足利市', '栃木市', '佐野市', '鹿沼市', '日光市', '小山市', '真岡市', '大田原市', '矢板市', 
            '那須塩原市', 'さくら市', '那須烏山市', '下野市', '上三川町', '益子町', '茂木町', '市貝町', '芳賀町', 
            '壬生町', '野木町', '塩谷町', '高根沢町', '那須町', '那珂川町'
        ];
    }
        
    /**
     * 群馬県の区市町村を取得する
     *
     * @return array
     */
    private function getGunma(): array
    {
        return [
            '前橋市', '高崎市', '桐生市', '伊勢崎市', '太田市', '沼田市', '館林市', '渋川市', '藤岡市', '富岡市', 
            '安中市', 'みどり市', '榛東村', '吉岡町', '上野村', '神流町', '下仁田町', '南牧村', '甘楽町', 
            '中之条町', '長野原町', '嬬恋村', '草津町', '高山村', '東吾妻町', '片品村', '川場村', '昭和村', 
            'みなかみ町', '玉村町', '板倉町', '明和町', '千代田町', '大泉町', '邑楽町'
        ];
    }
        
    /**
     * 埼玉県の区市町村を取得する
     *
     * @return array
     */
    private function getSaitama(): array
    {
        return [
            '上尾市', '朝霞市', '伊奈町', '入間市', '小鹿野町', '小川町', '桶川市', '越生町', 
            '春日部市', '加須市', '神川町', '上里町', '川口市', '川越市', '川島町', '北本市', 
            '行田市', '久喜市', '熊谷市', '鴻巣市', '越谷市', 'さいたま市', '坂戸市', '幸手市', 
            '狭山市', '志木市', '白岡市', '杉戸町', '草加市', '秩父市', '鶴ヶ島市', 'ときがわ町', 
            '所沢市', '戸田市', '長瀞町', '滑川町', '新座市', '蓮田市', '鳩山町', '羽生市', 
            '飯能市', '東秩父村', '東松山市', '日高市', '深谷市', '富士見市', 'ふじみ野市', '本庄市', 
            '松伏町', '三郷市', '美里町', '皆野町', '宮代町', '三芳町', '毛呂山町', '八潮市', 
            '横瀬町', '吉川市', '吉見町', '寄居町', '嵐山町', '和光市', '蕨市'
        ];
    }
        
    /**
     * 千葉県の区市町村を取得する
     *
     * @return array
     */
    private function getChiba(): array
    {
        return [
            '千葉市', '銚子市', '市川市', '船橋市', '館山市', '木更津市', '松戸市', '野田市', '茂原市', '成田市', 
            '佐倉市', '東金市', '旭市', '習志野市', '柏市', '勝浦市', '市原市', '流山市', '八千代市', '我孫子市', 
            '鴨川市', '鎌ケ谷市', '君津市', '富津市', '浦安市', '四街道市', '袖ケ浦市', '八街市', '印西市', '白井市', 
            '富里市', '南房総市', '匝瑳市', '香取市', '山武市', 'いすみ市', '大網白里市', '酒々井町', '栄町', '神崎町', 
            '多古町', '東庄町', '九十九里町', '芝山町', '横芝光町', '一宮町', '睦沢町', '長生村', '白子町', '長柄町', 
            '長南町', '大多喜町', '御宿町', '鋸南町'
        ];
    }
        
    /**
     * 神奈川県の区市町村を取得する
     *
     * @return array
     */
    private function getKanagawa(): array
    {
        return [
            '横浜市', '川崎市', '横須賀市', '鎌倉市', '逗子市', '三浦市', '葉山町', 
            '相模原市', '厚木市', '大和市', '海老名市', '座間市', '綾瀬市', '愛川町', '清川村', 
            '平塚市', '藤沢市', '茅ヶ崎市', '秦野市', '伊勢原市', '寒川町', '大磯町', '二宮町', 
            '小田原市', '南足柄市', '中井町', '大井町', '松田町', '山北町', '開成町', '箱根町', '真鶴町', '湯河原町'
        ];
    }
        
    /**
     * 山梨県の区市町村を取得する
     *
     * @return array
     */
    private function getYamanashi(): array
    {
        return [
            '甲府市', '富士吉田市', '都留市', '山梨市', '大月市', '韮崎市', '南アルプス市', '北杜市', '甲斐市', '笛吹市', 
            '上野原市', '甲州市', '中央市', '市川三郷町', '早川町', '身延町', '南部町', '富士川町', '昭和町', '道志村', 
            '西桂町', '忍野村', '山中湖村', '鳴沢村', '富士河口湖町', '小菅村', '丹波山村'
        ];
    }
        
    /**
     * 長野県の区市町村を取得する
     *
     * @return array
     */
    private function getNagano(): array
    {
        return [
            '小諸市', '佐久市', '小海町', '佐久穂町', '川上村', '南牧村', '南相木村', '北相木村', '軽井沢町', '御代田町', '立科町', 
            '上田市', '東御市', '長和町', '青木村', '岡谷市', '諏訪市', '茅野市', '下諏訪町', '富士見町', '原村', 
            '伊那市', '駒ケ根市', '辰野町', '箕輪町', '飯島町', '南箕輪村', '中川村', '宮田村', 
            '飯田市', '松川町', '高森町', '阿南町', '阿智村', '平谷村', '根羽村', '下條村', '売木村', '天龍村', 
            '泰阜村', '喬木村', '豊丘村', '大鹿村', '上松町', '南木曽町', '木曽町', '木祖村', '王滝村', '大桑村', 
            '松本市', '塩尻市', '安曇野市', '麻績村', '生坂村', '山形村', '朝日村', '筑北村', 
            '大町市', '池田町', '松川村', '白馬村', '小谷村', '長野市', '須坂市', '千曲市', '坂城町', 
            '小布施町', '高山村', '信濃町', '飯綱町', '小川村', '中野市', '飯山市', '山ノ内町', '木島平村', '野沢温泉村', '栄村'
        ];
    }
        
    /**
     * 青森県の区市町村を取得する
     *
     * @return array
     */
    private function getAomori(): array
    {
        return [
            '青森市', '鰺ヶ沢町', '今別町', '田舎館村', '板柳町', '大鰐町', '大間町', 'おいらせ町',
            '風間浦村', '黒石市', '五所川原市', '五戸町',
            '佐井村', '三戸町', '七戸町', '新郷村', '外ヶ浜町',
            '田子町', 'つがる市', '鶴田町', '十和田市', '東北町',
            '中泊町', '南部町', '西目屋村', '野辺地町',
            '八戸市', '階上町', '弘前市', '平川市', '平内町', '東通村', '深浦町', '藤崎町',
            '三沢市', 'むつ市',
            '蓬田村', '横浜町',
            '六戸町', '六ヶ所村'
        ];
    }
        
    /**
     * 岩手県の区市町村を取得する
     *
     * @return array
     */
    private function getIwate(): array
    {
        return [
            '盛岡市', '宮古市', '大船渡市', '花巻市', '北上市', '久慈市', '遠野市', '一関市', '陸前高田市', '釜石市', 
            '二戸市', '八幡平市', '奥州市', '滝沢市', '雫石町', '葛巻町', '岩手町', '紫波町', '矢巾町', '西和賀町', 
            '金ケ崎町', '平泉町', '住田町', '大槌町', '山田町', '岩泉町', '田野畑村', '普代村', '軽米町', '野田村',
            '九戸村', '洋野町', '一戸町'
        ];
    }
        
    /**
     * 宮城県の区市町村を取得する
     *
     * @return array
     */
    private function getMiyagi(): array
    {
        return [
            '仙台市', '石巻市', '塩竈市', '気仙沼市', '白石市', '名取市', '角田市', '多賀城市', '岩沼市', '登米市', 
            '栗原市', '東松島市', '大崎市', '富谷市', '蔵王町', '七ヶ宿町', '大河原町', '村田町', '柴田町', '川崎町', 
            '丸森町', '亘理町', '山元町', '松島町', '七ヶ浜町', '利府町', '大和町', '大郷町', '大衡村', '色麻町', 
            '加美町', '涌谷町', '美里町', '女川町', '南三陸町'
        ];
    }
        
    /**
     * 秋田県の区市町村を取得する
     *
     * @return array
     */
    private function getAkita(): array
    {
        return [
            '秋田市', '能代市', '横手市', '大館市', '男鹿市', '湯沢市', '鹿角市', '由利本荘市', '潟上市', '大仙市', 
            '北秋田市', 'にかほ市', '仙北市', '小坂町', '上小阿仁村', '藤里町', '三種町', '八峰町', '五城目町', 
            '八郎潟町', '井川町', '大潟村', '美郷町', '羽後町', '東成瀬村'
        ];
    }
        
    /**
     * 山形県の区市町村を取得する
     *
     * @return array
     */
    private function getYamagata(): array
    {
        return [
            '朝日町', '飯豊町', '大石田町', '大江町', '大蔵村', '小国町', '尾花沢市', 
            '金山町', '上山市', '河北町', '川西町', 
            '寒河江市', '酒田市', '鮭川村', '庄内町', '白鷹町', '新庄市', 
            '高畠町', '鶴岡市', '天童市', '戸沢村', 
            '長井市', '中山町', '南陽市', '西川町', 
            '東根市', '舟形町', 
            '真室川町', '三川町', '村山市', '最上町', 
            '山形市', '山辺町', '遊佐町', '米沢市'
        ];
    }
        
    /**
     * 福島県の区市町村を取得する
     *
     * @return array
     */
    private function getFukushima(): array
    {
        return [
            '会津坂下町', '会津美里町', '会津若松市', '浅川町', '飯舘村', '石川町', '泉崎村', '猪苗代町',
            'いわき市', '大熊町', '大玉村', '小野町',
            '鏡石町', '葛尾村', '金山町', '川内村', '川俣町', '喜多方市', '北塩原村', '国見町', '桑折町',
            '郡山市',
            '鮫川村', '下郷町', '昭和村', '白河市', '新地町', '須賀川市', '相馬市',
            '只見町', '伊達市', '棚倉町', '玉川村', '田村市', '天栄村', '富岡町',
            '中島村', '浪江町', '楢葉町', '西会津町', '西郷村', '二本松市',
            '塙町', '磐梯町', '檜枝岐村', '平田村', '広野町', '福島市', '双葉町', '古殿町',
            '三島町', '南会津町', '南相馬市', '三春町', '本宮市',
            '柳津町', '矢吹町', '矢祭町', '湯川村'
        ];
    }
        
    /**
     * 北海道の市町村を取得する
     *
     * @return array
     */
    private function getHokkaido(): array
    {
        return [
            '旭川市', '留萌市', '稚内市', '士別市', '名寄市', '富良野市', '鷹栖町', '東神楽町', '当麻町', '比布町', 
            '愛別町', '上川町', '東川町', '美瑛町', '上富良野町', '中富良野町', '南富良野町', '占冠村', '和寒町', 
            '剣淵町', '下川町', '美深町', '音威子府村', '中川町', '幌加内町', '増毛町', '小平町', '苫前町', '羽幌町', 
            '初山別村', '遠別町', '天塩町', '猿払村', '浜頓別町', '中頓別町', '枝幸町', '豊富町', '礼文町', '利尻町', 
            '利尻富士町', '幌延町', '函館市', '北斗市', '松前町', '福島町', '知内町', '木古内町', '七飯町', '鹿部町',
            '森町', '八雲町', '長万部町', '江差町', '上ノ国町', '厚沢部町', '乙部町', '奥尻町', '今金町', 'せたな町',
            '釧路市', '帯広市', '北見市', '網走市', '紋別市', '根室市', '美幌町', '津別町', '斜里町', '清里町', 
            '小清水町', '訓子府町', '置戸町', '佐呂間町', '遠軽町', '湧別町', '滝上町', '興部町', '西興部村', 
            '雄武町', '大空町', '音更町', '士幌町', '上士幌町', '鹿追町', '新得町', '清水町', '芽室町', '中札内村', 
            '更別村', '大樹町', '広尾町', '幕別町', '池田町', '豊頃町', '本別町', '足寄町', '陸別町', '浦幌町', 
            '釧路町', '厚岸町', '浜中町', '標茶町', '弟子屈町', '鶴居村', '白糠町', '別海町', '中標津町', '標津町', 
            '羅臼町', '札幌市', '札幌市中央区', '札幌市北区', '札幌市東区', '札幌市白石区', '札幌市豊平区', '札幌市南区', 
            '札幌市西区', '札幌市厚別区', '札幌市手稲区', '札幌市清田区', '小樽市', '室蘭市', '夕張市', '岩見沢市', 
            '苫小牧市', '美唄市', '芦別市', '江別市', '赤平市', '三笠市', '千歳市', '滝川市', '砂川市', '歌志内市', 
            '深川市', '登別市', '恵庭市', '伊達市', '北広島市', '石狩市', '当別町', '新篠津村', '島牧村', '寿都町', 
            '黒松内町', '蘭越町', 'ニセコ町', '真狩村', '留寿都村', '喜茂別町', '京極町', '倶知安町', '共和町', 
            '岩内町', '泊村', '神恵内村', '積丹町', '古平町', '仁木町', '余市町', '赤井川村', '南幌町', '奈井江町', 
            '上砂川町', '由仁町', '長沼町', '栗山町', '月形町', '浦臼町', '新十津川町', '妹背牛町', '秩父別町', 
            '雨竜町', '北竜町', '沼田町', '豊浦町', '壮瞥町', '白老町', '厚真町', '洞爺湖町', '安平町', 'むかわ町', 
            '日高町', '平取町', '新冠町', '浦河町', '様似町', 'えりも町', '新ひだか町'
        ];
    }
}
```

いざ、コマンド実行！
```
php artisan db:seed --class=PrefecturesSeeder
php artisan db:seed --class=MunicipalSeeder
```

<br>

無事、1700件近くのデータが挿入されました。

![スクリーンショット 2025-02-05 11.47.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/669483/5b0cbbc9-2561-a33b-38dc-d4adb70eef7f.png)


# 最後に
市町村は都度合併することもあるから定期的にみ