Метод комментариев не существует - PullRequest
0 голосов
/ 03 июня 2018

BadMethodCallException в строке Macroable.php 74: комментарии к методу не существует.

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 голосов
/ 04 июня 2018

Когда вы делаете

$post = Posts::where('slug', $slug)->get();

переменная $ post содержит объект Collection , а не объект Post - вот почему comments () метод недоступен.Вы можете вызывать этот метод только для одного сообщения - изменив get () на first () , вы получите одно сообщение, которое соответствует slug , а затем выдолжен быть в состоянии получить свои комментарии:

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