hasMany(FaqTranslation::class); } public function getTranslation($languageId) { return $this->translations->where('language_id', $languageId)->first(); } public function getTranslatedQuestionAttribute() { $languageCode = request()->header('Content-Language') ?? app()->getLocale(); if (empty($languageCode)) { return $this->question; } $language = Language::select(['id', 'code'])->where('code', $languageCode)->first(); if (!$language) { return $this->question; } $translations = $this->relationLoaded('translations') ? $this->translations : $this->translations()->get(); $translation = $translations->first(function ($data) use ($language) { return $data->language_id == $language->id; }); return !empty($translation?->question) ? $translation->question : $this->question; } public function getTranslatedAnswerAttribute() { $languageCode = request()->header('Content-Language') ?? app()->getLocale(); if (empty($languageCode)) { return $this->answer; } $language = Language::select(['id', 'code'])->where('code', $languageCode)->first(); if (!$language) { return $this->answer; } $translations = $this->relationLoaded('translations') ? $this->translations : $this->translations()->get(); $translation = $translations->first(function ($data) use ($language) { return $data->language_id == $language->id; }); return !empty($translation?->answer) ? $translation->answer : $this->answer; } }