我正在使用laravel eloquent,我制作了模型(用户,帖子,评论)
关系是
用户模型
public function posts(){
return $this->hasMany('App\Post');
}
public function comments(){
return $this->hasMany('App\Comment');
}
发布模型
public function comments()
{
return $this->hasMany('App\Comment');
}
public function user()
{
return $this->belongsTo('App\User');
}
评论模型
public function post()
{
return $this->belongsTo('App\Post');
}
我想返回所有用户,每个用户都有自己帖子的对象,每个帖子都有一个所有评论的对象
我有这个查询
$users = \App\User::with('posts')->\get();
return $users;
它返回用户的对象,每个用户都有自己帖子的对象,但没有评论对象
现在问题是
在PHP中,例如我可以return user[0]->posts[0]->coments()
并返回评论
但我无法在javascript或手机中看到此评论作为API 它返回“尝试获取非对象的属性”
所以.. 我想使用js或API中的注释
我可以使用for循环获取评论,但我正在寻找更好的解决方案
答案 0 :(得分:1)
你可以这样做:
$users = \App\User::with('posts', 'posts.comments')->get();
return $users;
希望这有帮助!