我有三张桌子
users
posts
comments
我的问题是如何在单个查询中检索用户发布和发表评论。
提前谢谢
答案 0 :(得分:4)
你的问题答案已由@ Nicklas Kevin Frank提出。
用于在Model.php第867行中获取跟随错误FatalErrorException:Class' Post'未找到错误,在您的模型类中修改您的hasmany:App \ User
<?php
class User extends Model
{
public function posts()
{
return $this->hasMany('App\Post');
}
}
帖子模型中的
<?php
class Post extends Model
{
public function comments()
{
return $this->hasMany('App\Comment');
}
public function user()
{
return $this->belongsTo('App\User');
}
}
在评论模型中
<?php
class Comment extends Model
{
public function posts()
{
return $this->belongsTo('App\Post');
}
}
并在您的控制器中
$data = User::findOrFail(1)->posts()->get();
答案 1 :(得分:1)
您可以使用以下内容:
User::find($id)->with('posts','posts.comments')->get();
通过这种方式,您可以获得一位用户,以及他对帖子的帖子和评论。
要仅访问属于用户的帖子,您必须执行以下操作:
User::find($id)->with('posts')->get();