Laravel 5 逻辑关系错误

Laravel 5 逻辑关系错误,laravel-5,frameworks,Laravel 5,Frameworks,我已经为posts评论创建了posts表和comments表。 我想得到我的帖子和他们的评论 在我的帖子模型中: public function comments() { return $this->hasMany('App\Comment'); } 在我的评论模型中: public function post() { return $this->belongsTo('App\Post'); } 这是我的控制器: public function show($ID)

我已经为posts评论创建了posts表和comments表。 我想得到我的帖子和他们的评论

在我的帖子模型中:

public function comments()
{
     return $this->hasMany('App\Comment');
}
在我的评论模型中:

public function post()
{
  return $this->belongsTo('App\Post');
}
这是我的控制器:

public function show($ID)
{
    try {
        $post = Post::findOrFail($ID);
        $comments = Post::find($ID)->comments;
        $randomPosts = Post::all()->random(3);
        return view('show', compact('post','comments','randomPosts'));
    } catch (ModelNotFoundException $e) {
        $posts = Post::orderBy('ID', 'DESC')->paginate(5);
        return view('welcome', compact('posts'));            
    }
}
但我得到了这个错误: 未定义的属性:Illumb\Database\Eloquent\Collection::$ID


我的问题是什么?

您需要将$ID变量分配给要检索文章的ID

例如,假设您想要id为1的帖子及其评论

首先,您可以检索第一篇文章的注释,如下所示:

$comments = App\Post::find(1)->comments;

foreach ($comments as $comment) {
    echo $comment
}
当然,您可以检索表示一条评论的帖子

例如,包含第一条评论的帖子:

$comment = App\Comment::find(1);

echo $comment->post->title;

您需要将$ID变量指定给您想要检索PostThank的ID,感谢您的回复!这是我的荣幸。如果您愿意,您可以在此处阅读更多信息=>