php.config引用数据库语句,Laravel 5:如何将数据库值加载到config / services.php文件中?...

我有一个多租户应用程序我正在努力,并在添加社交名录包时,我尝试从数据库加载特定网站的自定义facebook client_id和client_secret.我无法真正使用env变量,因为每个站点都有自己的自定义facebook键.

看来你无法在config / services.php文件中真正调用模型的方法,因为它可能尚未加载.我已经尝试通过请求生命周期文档来解决这个问题无济于事.

我还尝试创建一个服务提供程序来从我的Business模型的方法中获取值并将其设置为常量,但是,当它在应用程序中可用时,仍然加载了config / services.php文件.

这是我想要数据库值的地方:

配置/ services.php

'facebook' => [

'client_id' => \App\Business::getAppKeys()->fb_client_id,

'client_secret' => 'your‐fb‐app‐secret',

'redirect' => 'http://your‐callback‐url',

],

错误:

Fatal error: Call to a member function connection() on null

解决方法:

你真的不应该这样做.从模型初始化数据库连接需要加载所有配置,并且您打算使用这些连接来定义配置.你发现自己有一个循环依赖问题.

我想建议你看一下你想要使用的社交名媛套餐.如果服务中不存在用于在运行时设置/覆盖凭据的工具,请查看您是否能够使用您自己的实现来扩展服务.我认为这将是实现你想要做的事情的唯一途径.

除此之外,配置文件应该仅由标量值和数组组成,以便可以缓存它们.

标签:php,laravel,laravel-5

来源: https://codeday.me/bug/20190622/1264485.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值