belongsTo(PetugasPermohonan::class, 'permohonan_id'); } public function pusatMengundi(): BelongsTo { return $this->belongsTo(PusatMengundi::class, 'pusat_mengundi_id'); } public function saluran(): BelongsTo { return $this->belongsTo(Saluran::class, 'saluran_id'); } public function jawatan(): BelongsTo { return $this->belongsTo(JawatanTetapan::class, 'jawatan_tetapan_id'); } /** * Penempatan KTM (Ketua Tempat Mengundi) sahaja. */ public function scopeKtm($query) { return $query->whereHas('jawatan', fn ($q) => $q->where('kod', 'KTM')); } /** * Penempatan dalam DUN tertentu (melalui pusat mengundi penempatan). */ public function scopeUntukDun($query, int $dunId) { return $query->whereHas('pusatMengundi', fn ($q) => $q->where('dun_id', $dunId)); } }