diff --git a/app/Models/Website/Service.php b/app/Models/Website/Service.php index de023e1..805ea66 100644 --- a/app/Models/Website/Service.php +++ b/app/Models/Website/Service.php @@ -4,14 +4,37 @@ use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; -use Spatie\Translatable\HasTranslations; class Service extends Model { - use HasFactory, HasTranslations; + use HasFactory; protected $table = 'website_services'; protected $fillable = ['imageSrc']; - protected array $translatable = ['title', 'description']; -} + protected $casts = [ + 'translations' => 'array', + ]; + + public function getTranslation(string $key, string $locale, bool $useFallbackLocale = true): mixed + { + $translations = $this->translations; + if (isset($translations[$key][$locale])) { + return $translations[$key][$locale]; + } + if ($useFallbackLocale && isset($translations[$key]['en'])) { + return $translations[$key]['en']; + } + return null; + } + + public function getTitleAttribute() + { + return $this->translations['title'] ?? null; + } + + public function getDescriptionAttribute() + { + return $this->translations['description'] ?? null; + } +} \ No newline at end of file