我正在使用PhpStorm IDE学习Laracast课程中的Laravel 5:Laravel 5 Fundamentals。
我遇到了模型的静态方法问题,例如where()
,find()
和findOrFail()
。
当我使用这些方法时PhpStorm显示:
在App \ Article。
类中找不到方法'findOrFail'
我的模型是文章,方法all()
有效。
我该如何解决这个问题?
答案 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中试过这个)。