在配置文件中调用对象方法时,Laravel崩溃

时间:2014-11-25 10:27:52

标签: laravel laravel-4 config

当我尝试在配置文件中调用对象方法(或静态方法)时,我遇到了问题(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')运行正常。

1 个答案:

答案 0 :(得分:0)

配置在Laravel完全设置之前加载,因此此时我不能使用它的大部分内容。