Есть БД в которой такая структура:
id | title_en | title_ru | ...
То есть от выбора языка должен браться тот или иной заголовок
Сделал так:
$items = Item::all();
foreach ($items as $item) {
$item->makeVisible('title_' . $request->lang); // lang беру из параметра, или header'а, или "en"
}
Получилось как надо, но столкнулся с проблемой что на фронте теперь тоже необходимо правильно это все обрабатывать потому что сам атрибут имеет то _ru, то _en ...
А хотелось бы чтобы когда с фронта приходит язык, то атрибут был бы только одним "title", без всяких title_ru, title_en и тд
Можно ли как то это устроить?
Думал как то в модели это сделать, но там ведь нельзя обратиться к request?
==============================
Вот так изменил перебор:
$items = Item::all();
foreach ($items as $item) {
$title = 'title_' . $request->lang;
$item->title = $item->$title;
}
Но может все равно есть получше решение?