Proje: Okul Platform · Hub: Okul Platform — Domain

Admin Lead Sorgusu (scopeAdminFilter)

JOIN’ler

leads
LEFT JOIN schools ON schools.id = leads.school_id
LEFT JOIN school_locations sl ON sl.school_id = leads.school_id
LEFT JOIN locations l1 ON l1.id = sl.location_level_1   -- İl
LEFT JOIN locations l2 ON l2.id = sl.location_level_2   -- İlçe  
LEFT JOIN locations l3 ON l3.id = sl.location_level_3   -- Mahalle
LEFT JOIN school_filters sf ON sf.school_id = leads.school_id

Ek SELECT Alanları

schools.name as school_name
l1.name as city
l2.name as district
sf.is_customer
leads.*

Filtreler

id, school_id, user_id, type, approved_type, approved_by
school_type_id → schoolFilters.school_type_id
school_answered_deal_status, entry_method, ref
college_id → school.college_id
location_level_1/2/3 → school.locations.*
approved_status_id, pipeline_id, stage_id, student_class
customer-viewed, date-of-birth, starts-on, ends-on

Include’lar

school, school.locations

Neden JOIN?

Admin panelde lead listesinde okul adı ve lokasyon bilgisi göstermek için. Her lead için ayrı sorgu yerine tek JOIN daha performanslı.