'boolean']; public function scopeActive(Builder $query): Builder { return $query->where('is_active', true); } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logFillable() ->logOnlyDirty() ->dontSubmitEmptyLogs(); } public function country() { return $this->belongsTo(Country::class); } public function districts() { return $this->hasMany(District::class); } public static function nameOptions(?string $countryName = null, bool $onlyActive = true): array { return static::query() ->when($onlyActive, fn (Builder $query): Builder => $query->active()) ->when( $countryName && trim($countryName) !== '', fn (Builder $query): Builder => $query->whereHas( 'country', fn (Builder $countryQuery): Builder => $countryQuery->where('name', trim($countryName)), ), ) ->orderBy('name') ->pluck('name', 'name') ->all(); } }