当我尝试在配置文件中调用对象方法(或静态方法)时,我遇到了问题(laravel崩溃)。我用它来将所有格式化的产品价格缓存在一个地方。请建议我该如何解决这个问题?请找到以下代码:
应用\ routes.php文件:
Route::get('test', function() {
dd(Config::get('settings.productPrices'));
});
应用\设置\ settings.php文件:
$setting_data['productPrices'] = Cache::remember('settings.productPrices', 60, function()
{
$products = Product::all();
$prices = [];
foreach ($products as $product) {
$prices [$product->id] = $product->getPriceFormatted();
}
return $prices;
});
return $setting_data;
getPriceFormatted方法工作正常。如果我使用$ product->价格而不是$ product-> getPriceFormatted(),一切正常。
应用\模型\ Product.php:
public function getPriceFormatted () {
if (Config::has('settings.exchangeRateUsdToUah')) {
return Config::get('settings.exchangeRateUsdToUah') * $this->price. ' UAH';
}
return $this->price . ' USD';
}
P.S。 Config :: get(' settings.exchangeRateUsdToUah')运行正常。
答案 0 :(得分:0)
配置在Laravel完全设置之前加载,因此此时我不能使用它的大部分内容。