Proje: Okul Platform · Hub: Okul Platform — Domain

Location Modeli

3 seviyeli hiyerarşik lokasyon: İl → İlçe → Mahalle

Trait’ler: HasDynamicIncludes, HasSlug, Revisionable, SoftDeletes Cast: statusStringBool (bool cast, @Location-bool-enum olarak yorumda işaretli)

İlişkiler

$location->parent   // Üst lokasyon (il için null)
$location->children // Alt lokasyonlar

Önemli Sabitler

Location::ISTANBUL_ID = 1
Location::ANKARA_ID   = 2
Location::IZMIR_ID    = 3
Location::ANTALYA_ID  = 4
Location::ADANA_ID    = 6249

School ile İlişki

  • SchoolSchoolLocationLocation (il/ilçe/mahalle üç farklı ID)
  • SchoolFilter: location_level_1/2/3, location_level_*_name, location_level_*_slug

API Endpoint’leri

GET /api/locations  — Genel liste
Admin: CRUD /api/admin/locations

PERMISSION_SUBDOMAIN — Lokasyon izni subdomain’e bağlı.

HasSlug Trait

Location model’de slug otomatik Str::slug() ile oluşturulur.