错误:即使在控制器中定义了函数,laravel 中的函数也未定义

亚历山大·索洛尼克

我的 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()

现在,我已经在调用此函数的同一控制器中定义了此函数,那么为什么会收到未定义函数的错误?

阿列克谢·梅曾宁(Alexey Mezenin)

正确的语法是:

$tagsArray = $this->getTags();

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

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章