Dil bazlı verilerim var.
Aktif dile göre lang sütunundan veri getiriyorum.
packages tablom:
id, name, lang
LangScope dosyam:
public function scopeLang($query, $short = false)
{
return $query->where(function ($query) use ($short) {
$query->where('lang', Helper::getLanguage($short))->orWhere('lang', Helper::getDefaultLanguage($short));
});
}
Helper::getLanguage() fonksiyonu kullanıcının o anki dilini veriyor.
Helper::getDefaultLanguage() fonksiyonu default dili veriyor.
Yapmak istediğim şey eğer o anki dile göre veritabanında veri yok ise default dile göre veri getirmesi. Scope ile denedim ancak verilerin hepsini getiriyor. Hem tr hemde en.
$packages = Package::with('options')->where('category', 'sport')->lang()->get();