方法注释不存在

时间:2018-06-03 12:08:02

标签: xampp laravel-5.3

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');

}

1 个答案:

答案 0 :(得分:0)

当你这样做时

$post = Posts::where('slug', $slug)->get();
$ post 变量包含集合对象,而非发布对象 - 这就是评论()的原因方法不可用。您只能在一个帖子上调用该方法 - 将 get()更改为 first()应该为您提供与 slug 匹配的帖子然后你应该能够获取它的评论:

$post = Posts::where('slug', $slug)->first();
$comments = $post->comments()->whereIsActive(1)->get();