Laravel 5.1 установить конфиг через дб

В laravel есть несколько конфигурационных файлов, которые можно контролировать / устанавливать с помощью файла .env для разработки. Мой вопрос, возможно ли установить производственные значения через таблицу БД, например таблицу settings_mail и settings_app. Мне это нужно, чтобы админ, когда несессеры мог изменить некоторое значение в представлении и не нуждался в вводе кода

0

Решение

Конечно. Создайте таблицу настроек, например так:

+------------+--------------------+-------------------+
|   name     |        value       |      category     |
+------------+--------------------+---------+---------+
| hostname   | smpt.example.com   |        mail       |
+------------+--------------------+-------------------+
|  address   |       San José     |      general      |
+------------+--------------------+-------------------+

Вы создаете модель настроек на основе структуры таблицы:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Setting extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'settings';

protected $name = '';
protected $value = '';
protected $category = '';
}

Загрузите настройки, которые будут доступны для всего приложения:

// app/Providers/AppServiceProvider.php
public function boot(){
$settings = App\Setting::lists('name', 'value')->all();
config()->set('settings', $settings);
}

Теперь получите некоторые настройки:

$address = config('settings.address');
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]