【发布时间】:2016-03-16 11:29:59
【问题描述】:
在 laravel 中有一些配置文件可以用 .env 文件控制/设置以进行开发。我的问题是可以通过 db 表设置生产值,例如 settings_mail 和 settings_app 表。我需要这个,以便管理员可以在视图中更改某些值并且不需要输入代码
【问题讨论】:
标签: php database app-config laravel-5.1
在 laravel 中有一些配置文件可以用 .env 文件控制/设置以进行开发。我的问题是可以通过 db 表设置生产值,例如 settings_mail 和 settings_app 表。我需要这个,以便管理员可以在视图中更改某些值并且不需要输入代码
【问题讨论】:
标签: php database app-config laravel-5.1
创建一个设置表,如下所示:
| name | value | category |
|---|---|---|
| hostname | smpt.example.com | |
| 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');
【讨论】: