【问题标题】:error: undefined function in laravel even though function is defined in controller错误:laravel 中未定义的函数,即使在控制器中定义了函数
【发布时间】:2017-02-26 22:50:53
【问题描述】:

我的 laravel 控制器中有以下代码行:

public function getTags() {
    $tags = DB::table('tags')->get();
    /* convert Object to array */
    $tagsArray = array();
    foreach($tags as $tag) {
        $tagsArray[$tag->tag] = $tag->tag; 
    }
    return $tagsArray = json_decode(json_encode($tagsArray) , TRUE);
}

public function index() {
    // $recentBlogPost = DB::table('Admin')->get();
    // Auth::logout();
    if (!(Auth::check())) {
        return Redirect::to('login');
    }       

    $tagsArray = getTags();
    return view('admin.index')->with('tags' , $tagsArray);
}

现在我的代码的以下行出现错误:

$tagsArray = getTags();

我收到以下错误:

Call to undefined function App\Http\Controllers\getTags()

现在我在调用这个函数的同一个控制器中定义了这个函数,那么为什么我会得到这个未定义函数的错误呢?

【问题讨论】:

    标签: php laravel laravel-5


    【解决方案1】:

    正确的语法是:

    $tagsArray = $this->getTags();
    

    当从对象上下文中调用方法时,伪变量 $this 可用。 $this 是对调用对象的引用(通常是方法所属的对象

    http://php.net/manual/en/language.oop5.basic.php

    【讨论】:

      【解决方案2】:

      试过了

      $tagsArray = $this->getTags();
      

      ?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2015-03-04
        • 1970-01-01
        相关资源
        最近更新 更多