Macroable.php第74行中的BadMethodCallException: 方法注释不存在。
AdminPostsController.php
public function post($slug){
$post = Posts::where('slug', $slug)->get();
// $post = Posts::findBySlugOrFail($slug);
$comments = $post->comments()->whereIsActive(1)->get();
return View('post', compact('post','comments'));
}
posts.php
public function comments(){
return $this->hasMany("App\Comment",'post_id');
}
答案 0 :(得分:0)
当你这样做时
$post = Posts::where('slug', $slug)->get();
$ post 变量包含集合对象,而非发布对象 - 这就是评论()的原因方法不可用。您只能在一个帖子上调用该方法 - 将 get()更改为 first()应该为您提供与 slug 匹配的帖子然后你应该能够获取它的评论:
$post = Posts::where('slug', $slug)->first();
$comments = $post->comments()->whereIsActive(1)->get();