当前位置: 首页 > 知识库问答 >
问题:

对未定义函数app\http\controllers\admin\get_option()的错误调用

尉迟雅昶
2023-03-14
public function user()
{
    $userCount = User::where('admin','0')->count();
    $adminCount = User::where('admin','1')->count();
    $buyerCount = Sell::distinct('buyer_id')->count('buyer_id');
    $sellerCount = Sell::distinct('user_id')->count('user_id');
    $dayRegister = User::where('create_at','>',strtotime('-'.get_option('chart_day_count',10).' day')+12600)->get();
    return view('admin.report.user',['userCount'=>$userCount,'adminCount'=>$adminCount,'buyerCount'=>$buyerCount,'sellerCount'=>$sellerCount,'dayRegister'=>$dayRegister]);
}

在laravel 5.4i中定义在helper方法中

function get_option($option,$default = null){
    if($result = \App\Models\Option::where('option',$option)->value('value'))
        return $result;
    else
        return $default;
}

但在拉拉维尔7号不行!

共有1个答案

谷玉韵
2023-03-14

错误告诉您app\http\controllers\admin\get_option()不是函数。这意味着它正在查找当前名称空间中的函数。你是否从错误的途径包含/要求它?。

我目前没有Laravel7项目,但我在Laravel5中所做是创建帮助器类而不是普通函数。要效仿您的做法:

将此文件另存为app/helpers/optionshelper.php或类似文件。

<?php

namespace App\Helpers;

class OptionsHelper
{
  /**
   * Private constructor, `new` is disallowed by design.
   */
  private function __construct()
  { }

  public static function getOption($option, $default = null){
    if($result = \App\Models\Option::where('option', $option)->value('value')) {
      return $result;
    }
    else {
      return $default;
    }
  }
}
 类似资料: