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: status → StringBool (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 = 6249School ile İlişki
School→SchoolLocation→Location(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.
Related
- api-school-hierarchy — School lokasyon ilişkisi
- api-school-filter-search — SchoolFilter lokasyon alanları