'date', 'monthly_income' => 'decimal:2', 'voter_status' => 'boolean', 'head_of_household' => 'boolean', 'is_active' => 'boolean', ]; public function user() { return $this->belongsTo(\App\Models\User::class, 'user_id'); } public function household() { return $this->hasOne(Household::class, 'head_resident_id'); } public function householdMemberships() { return $this->hasMany(HouseholdMember::class, 'resident_id'); } public function documentRequests() { return $this->hasMany(DocumentRequest::class, 'resident_user_id', 'user_id'); } public function scopeActive($query) { return $query->where('is_active', true); } public function getFullnameAttribute(): string { $parts = array_filter([$this->firstname, $this->middlename, $this->lastname]); $name = implode(' ', $parts); if ($this->suffix) $name .= ', ' . $this->suffix; return $name; } }