Oth*_*ane 2 laravel eloquent laravel-5
当我在代码中使用 findOrFail 时,它不起作用
我尝试过 find 方法,它按我的预期工作
public function show(Question $question, Reply $reply) {
return $question->replies->findOrFail($reply->id);
}
BadMethodCallException: Method Illuminate\Database\Eloquent\Collection::firstOrFail does not exist. in file
Run Code Online (Sandbox Code Playgroud)
由于replies是 Question 关系,如果使用$question->replies,它会返回一个Illuminate\\Database\\Eloquent\\Collection实例,并且该findOrFail方法不可用,因为该方法属于该类Illuminate\\Database\\Eloquent\\Builder。
如果您想使用findOrFail它来构建查询,则必须像这样使用它:
public function show(Question $question, Reply $reply) {\n return $question->replies()->findOrFail($reply->id);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n但是,正如 @porloscerros\xce\xa8 的评论中提到的,您Reply $reply在函数中拥有一个参数。您可以简单地返回 $reply:
public function show(Reply $reply) {\n return $reply;\n}\nRun Code Online (Sandbox Code Playgroud)\n\n希望能帮助到你。
\n| 归档时间: |
|
| 查看次数: |
3098 次 |
| 最近记录: |