Laravel 5抛出一个异常:带有消息的BadMethodCallException'调用未定义的方法Illuminate \ Database \ Query \ Builder :: tags()

时间:2016-02-28 03:43:55

标签: php laravel laravel-5.2

我使用的是Laravel 5,我对这个框架有点新意。我搜索了很多问题,但作为回报,我没有任何相关内容。

所以,我有两个模特: 文章和标签。

在文章模型中,我有一个这样的方法:

public function tags() {
    return $this->belongsToMany("App\Tag");
}

在我的标签模型中,我有一个这样的方法:

public function articles() {
    return $this->belongsToMany("App\Article");
}

现在的问题是,当我像这样修补它时:

$article->tags()->attach(1);

它给了我以下例外:

  

BadMethodCallException with message'调用未定义的方法Illuminate \ Database \ Query \ Builder :: tags()'

但是当我这样称呼它时:

$tag->articles()->attach(1);

它完全像魅力一样,它不会抛出任何形式的异常。

我实际上从Laracast学习这些东西,我的类和方法和文件有点像这样: BadMethodCallException with message 'Call to undefined method Illuminate\Database\Query\Builder::belongToMany()'

除了我认为我没有打字错误。

1 个答案:

答案 0 :(得分:2)

好吧,我自己得到了答案。只是为别人分享。

代码没有任何问题。

我应该重新启动修补匠。这是一个修补匠的问题。