调用laravel 8中未定义的函数App\Http\Controllers\get_option()



我正在尝试将Laravel 5.7项目转换为8,仍在调试,但我无法解决这个特殊的问题。

当我运行该项目时;调用未定义的函数App\Http\Controllers\get_option(("错误

我试过了:

  • 将helpers.php位置提供程序更改为控制器
  • 删除helpers.php文件中的if子句
  • 添加";使用App\Providers\helpers"在主页控制器中
  • 查看Laravel 8升级指南(https://laravel.com/docs/8.x/upgrade)

这是App\Http\Controllers\MainpageController:中的错误源

...
$products_recommendations = Product::select('product.*')
->join('product_details', 'product_details.product_id', 'product.id')
->where('product_details.show_recommendations', 1)
->orderBy('update_date', 'desc')
->take(get_option('mainpage_list_product_count'))->get();
...

这是app/Providers/helpers.php文件,它有get_option((函数:

<?php
use AppModelsOption;
use IlluminateSupportFacadesCache;
if (! function_exists('get_option')) {
function get_option($key) {
//$allOptions = Cache::rememberForever('allOptions', function() {
$minute = 60;
$allOptions = Cache::remember('allOptions', $minute, function() {
return Option::all();
});

return $allOptions->where('key', $key)->first()->variable;
}
}

我该怎么解决?

注意:我把变量和函数的名称翻译成英文是为了在这里提问。

我再次将助手添加到我的composer.json文件中:

"autoload": {
"files": [
"app/helpers.php"
],

并输入CCD_ 1。它奏效了。

这个解决方案以前不起作用,我不得不在composer.json文件中删除并重写它。

还有另一个错误,但至少我解决了这个问题。

相关内容

  • 没有找到相关文章

最新更新