'array', ]; } protected function images(): Attribute { return Attribute::make( get: function ($value) { if (empty($value)) { return []; } $parts = explode(',', $value); return array_map(fn($part) => asset(trim($part)), $parts); } ); } protected function image(): Attribute { return Attribute::make( get: fn($value) => asset($value), ); } protected function banner(): Attribute { return Attribute::make( get: fn($value) => asset($value), ); } protected function sidebarImage(): Attribute { return Attribute::make( get: fn($value) => asset($value), ); } public function institutions() { return $this->hasMany(Institution::class, 'country_id'); } public function parent() { return $this->belongsTo(Country::class, 'parent_id'); } public function children() { return $this->hasMany(Country::class, 'parent_id'); } public function documents() { return $this->morphMany(Document::class, 'documentable'); } }