laravel的模型嵌套关联问题

发布于 2022-09-12 02:50:08 字数 1065 浏览 28 评论 0

现在做的类似朋友圈的接口查询
用户表 user 文章表 article 评论表 comment 点赞表 zan 结构如下

class User extand Model {
    public function articles() {
        return $this->hasMany(Article::class, 'user_id', 'id');
    }
}

class Article extand Model {
    public function comments() {
        return $this->hasMany(Comment::class, 'article_id', 'id');
    }
}

class Article extand Model {
    public function zans() {
        return $this->hasMany(Zan::class, 'article_id', 'id');
    }
}

class Comment extand Model {
    public function user() {
        return $this->belongsTo(User::class, 'user_id', 'id');
    }
}

class Zan extand Model {
    public function user() {
        return $this->belongsTo(User::class, 'user_id', 'id');
    }
}

User::with('articles.comments.user')->where('id', 10)->get();

现在需求是根据用户 id 查询所有文章和文章下面的评论和点赞,评论、点赞里显示对应的用户信息。

User::with('articles.comments.user')->find(10);
`
上面只能查出一种,用 morphTo这种嵌套的没试出来,请问大家有没有高效的方法呢。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

影子是时光的心 2022-09-19 02:50:08
User::with(['articles.comments.user','articles.zans.user'])->find(10);

这样是可以实现,但是效率是不是很低呢、

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文