Laravel 5,方法'findOrFail'在课堂上找不到

时间:2015-12-11 13:26:41

标签: laravel laravel-5 eloquent

我正在使用PhpStorm IDE学习Laracast课程中的Laravel 5:Laravel 5 Fundamentals

我遇到了模型的静态方法问题,例如where()find()findOrFail()

当我使用这些方法时PhpStorm显示:

  

在App \ Article。

类中找不到方法'findOrFail'

我的模型是文章,方法all()有效。

我该如何解决这个问题?

4 个答案:

答案 0 :(得分:4)

谢谢你的有趣。但我解决了,我使用query()方法:

  public function show($id)
    {

        $article = Article::query()->findOrFail($id);

       return view('articles.show', compact('article'));

    }

答案 1 :(得分:2)

这是因为那些方法正在使用phpStorm不知道如何遵循的魔术方法__call。这真的只是以下的捷径...

$article = new \App\Article;
$query = $article->newQuery();

$query->where('column', 'value')->get();

答案 2 :(得分:1)

现在,您可以使用Laravel IDE helper并正确识别Model方法(即分页,findOrFail)来为模型类添加注释

  

/ ** @mixin \口才* /

答案 3 :(得分:-1)

我遇到了同样的问题,当我扩展母版页时,我最终忘记了show.balde.php中的单个引号: @extends(“应用程序) 当我终于意识到并修复它时,一切都完美无缺: 这工作:$ article = Article :: findOrFail($ id); 这也有效:$ article = Article :: query() - > findOrFail($ id); 我希望这有帮助(我在Laravel 5.3中试过这个)。