[英]How to retrieve data settings from database array to have globally acces in Laravel 5
如何从数据库表中检索全局设置? 我知道如何在像这样的数组中创建全局设置:path:
app/config/settings.php
<?php
return array(
'admin_email' =>'mail@shabeebk.com',
'admin_name' =>'Admin',
);
并在控制器中:
$cvalue = Config::get('settings.admin_name');
我想达到相同的效果,但是这次数据是从表设置接收的
$data = Settings::get();
以数组形式返回并具有全局访问权限。
您可以通过多种方式完成此操作,这里有两种选择。
在ServiceProvider boot()
方法(可能是AppServiceProvider
)中,您可以轻松地将所有数据库设置加载到config中:
Settings::get()->each(function($setting) {
// Assumes the columns in your DB are 'key' and 'value'
Config::set('settings.' . $setting->key, $setting->value);
});
现在,您可以全局获取Config::get('settings.foo')
。
或者,您可以在Settings模型上编写一个get()
方法来提供类似的行为:
public static function get($key, $default = null)
{
if($match = self::where('key', $key)->first()) {
return $match->value;
}
return $default;
}
现在您可以全局使用Settings::get('foo')
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.