Magyar városok és irányítószámok Laravelhez

Laravel-csomag, amely tartalmazza Magyarország összes városát, irányítószámát és megyéjét Eloquent kapcsolatokkal.

Töltsd le ezt a Laravel-csomagot, amely tartalmazza Magyarország összes városát, irányítószámát és megyéjét Eloquent kapcsolatokkal. Használatra kész migrációkkal és seederekkel.

Ez a Laravel-kompatibilis adatbáziscsomag tartalmazza:

  • Magyar városokat és irányítószámokat
  • Hozzájuk tartozó megyéket (19 megye + Budapest)
  • Teljes mértékben kapcsolt Eloquent modelleket (State és HungarianPostalCode)
  • Használatra kész migrációs és seeder fájlokat

A cél, hogy néhány parancs futtatásával bármilyen Laravel projektbe könnyedén integrálható legyen a magyar települési és postai adatbázis.

A csomag tartalma

Táblák:

  • states – Magyar megyék (code, name)
  • hungarian_postal_codes – Városok és irányítószámok, state_id mezővel kapcsolva

Modellek:

  • App\Models\State
  • App\Models\HungarianPostalCode

Kapcsolatok:

  • Egy megye (State) több várost/irányítószámot tartalmaz (hasMany)
  • Egy város egy megyéhez tartozik (belongsTo)

Telepítés

1. Másold a fájlokat a projekt megfelelő helyére:

  • Modellek: app/Models
  • Migrációk: database/migrations
  • Seederek: database/seeders

2. Futtasd az adatbázis-migrációkat:

php artisan migrate

(Ha fejlesztés közben újrakezded az adatbázist, használhatod a --fresh opciót is:)

php artisan migrate:fresh

3. Futtasd a seedereket:


php artisan db:seed --class=StateTableSeeder
php artisan db:seed --class=HungarianPostalCodeTableSeeder

Használati példa


// Egy város megyéjének lekérdezése
$postal = HungarianPostalCode::where('city', 'Abaliget')->first();
echo $postal->state->name; // "Baranya"

// Egy megye összes városának lekérdezése
$state = State::where('code', 'FE')->first();
foreach ($state->postalCodes as $city) {
    echo $city->city . ' - ' . $city->postal_code;
}

A state_code csak a seederben szerepel átmenetileg. A rendszerben minden kapcsolat state_id kulcson keresztül működik.

A település listáért köszönet neki.