давайте предположим, что у меня есть переменные, которые используются по всей странице, такие как валюты и языки.Чтобы разделить их между представлениями, я использую AppServiceProvider следующим образом:
class AppServiceProvider extends ServiceProvider
{
public function boot()
{
View::share('currenciesGlobal',Currency::get());
View::share('languagesGlobal',Language::get());
}
}
Я могу легко получить к ним доступ, но не могу сделать это в контроллере.Например, у меня есть список продуктов, который рассчитывает цену в соответствии с валютой, выбранной пользователем (сохраняется в сеансе как currencyId).
Например:
public function getPrice()
{
return number_format($this->price_retail / $this->sessionHelper->getCurrentCurrency()->conversion_rate, 2);
}
Таким образом, 30 продуктов создадут 30 запросов к таблице валют.Я хотел бы иметь глобальную переменную с eloquent collection, к которой я могу получить доступ на каждом контроллере.
Я пытался хранить данные в конфигурационных файлах (но там я не могу использовать eloquent / db);сессия довольно плохая идея.
Возможно ли решить эту проблему?