【问题标题】:return all users each user with posts and each post with comments laravel返回所有用户每个用户的帖子和每个帖子的评论 laravel
【发布时间】:2017-04-03 10:27:48
【问题描述】:

我正在使用 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');
}

我想返回所有用户,每个用户都有他的帖子的一个对象,每个帖子都有一个所有 cmets 的对象

我有这个问题

$users = \App\User::with('posts')->\get();
return $users;

它返回用户的对象,每个用户都有他的帖子的对象,但没有 cmets 对象

现在问题来了

在 php 中,例如我可以return user[0]->posts[0]->coments() 它返回 cmets

但我在 javascript 或手机中看不到这个 cmets 作为 API 它返回“尝试获取非对象的属性”

so .. 我想在js或者API中使用cmets

我可以使用 for 循环获取 cmets,但我正在寻找更好的解决方案

【问题讨论】:

    标签: javascript php ajax laravel eloquent


    【解决方案1】:

    你可以这样做:

    $users = \App\User::with('posts', 'posts.comments')->get();
    return $users;
    

    希望这会有所帮助!

    【讨论】:

    • @MoawiaMeghari - 如果您认为此答案正确且有帮助,请接受并支持此答案,因为它会激励我回答此类其他问题并帮助其他人快速找到正确答案!
    • 我当然会,但它告诉我要等待 12 分钟才能接受答案
    • 没问题,只是通知你!!顺便说一句 - 谢谢
    猜你喜欢
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2018-08-16
    • 2020-10-30
    • 2017-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-26
    相关资源
    最近更新 更多