在框架中如何使用 config () 来进行访问数据库中的数据?

  • 我在查看其他人的代码时,发现他使用config()来调用数据库中的配置。
    代码如下:
    $withdrawMoney=config('APP_WITH_DRAW_MUST_HAVE_MONEY',1);
  • 最终返回的数据为表admin_config中的一条记录的 ‘value’值,该条记录为
    [
    'id'=>7,
    'name'=>'APP_WITH_DRAW_MUST_HAVE_MONEY',
    'value'=>3,
    'description'=>'',
    ...
    ]

    这是如何通过 config() 来获取到该值,希望能得到解答,谢谢

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案
foreach (ConfigModel::all(['name', 'value']) as $config) {
    config([$config['name'] => $config['value']]);
}
5年前 评论
讨论数量: 7
foreach (ConfigModel::all(['name', 'value']) as $config) {
    config([$config['name'] => $config['value']]);
}
5年前 评论

:joy:我一般是在后台,把配置表的数据,同步到一个config下的文件,然后每次读取就好了

5年前 评论
小李世界 5年前
Yunssss (楼主) 5年前
小丑路人 (作者) 5年前

@pigzzz 确实是这么回事,但是这个要怎么做到全局通用,

5年前 评论

@Yunssss

file_put_contents(base_path() . '/config/cnpscy.php', '<?php return ' . var_export($data_list, true) . ';');

$data_list 数组的key => value 格式即可。

我是存放config下面的cnpscy

读取:

config('cnpscy.key')

5年前 评论
Yunssss (楼主) 5年前
小丑路人 (作者) 5年前

@Yunssss 放AppServiceProvider里就行,优化一下,做个缓存就不用每次都查库

5年前 评论

创建一个提供器app/providers/ConfigServiceProvider.php文件,在它中boot方法获取数据库参数,config([数据库里数据])

4年前 评论
acai2046
       foreach (Setting::all(['name', 'value']) as $config){
            \Config::set($config['name'], $config['value']);
        }
4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!