Получение динамических глобальных констант в laravel - PullRequest
0 голосов
/ 29 августа 2018

1001 * Отредактировано *

У меня есть модель Setting С именем таблицы settings

Со следующими полями

  1. Key
  2. value

Key Колонны будут содержать уникальный ключ

Например, SITE_NAME, SITE_VERSION и т. Д.

Есть ли способ получить value из key

Например getSettings('SITE_NAME)

Я пытался добавить это к service provider

foreach (Setting::all() as $setting) 
 {
  Config::set('settings.'.$setting->key, $setting->value);
 }

Теперь я попробовал позвонить, как

Для названия сайта config('settings.SITE_NAME')

Прекрасно работает

НО При добавлении большого количества настроек требуется так много времени, чтобы загрузить приложение

Так может кто-нибудь Suggest me a function Как следует

Сохраните значения и ключи и ключи в Cache

Обновление кеша после создания или удаления настроек

1 Ответ

0 голосов
/ 29 октября 2018

Наконец я создал вспомогательную функцию:

function settings($key) {
    $value = Cache::rememberForever('settings', function () 
    {
        return Setting::pluck('value', 'key');
    });
    return $value[$key];
}

А в файле Blade {{settings ('key')}}}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...