fix: update Service model for translations JSON column
This commit is contained in:
parent
1b2e73bc0e
commit
4c5f6cfe10
@ -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;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user