当前位置: 首页 > 知识库问答 >
问题:

拉维尔多级关系

曹昊焱
2023-03-14

是否可以在比1级更深的级别上进行具有雄辩能力的多级关系查询?我的桌子是这样的:

post_comments-

发表评论或回复-

使用者-

用户数据-

所以我想问是不是有可能得到一个帖子的评论与所有的回复和用户数据的人谁回答了评论1查询与雄辩。

这就是我的评论模型的样子:

class PostComment extends Model{
public function replies(){
    return $this->hasMany(PostCommentAwnsers::class);
}

public function user() {
    return $this->belongsTo(User::class);
}
public function userInfo(){
    return $this->belongsTo(UserInfo::class,'user_id','user_id');
}}
public function index($id){
    $posts = Post::find($id);
    $postComments = PostComment::where('post_id','=',$id)->paginate(5);

    return view('post.show',[
        'post' => $post,
        'postComments' =>$postComments
    ]);
}

当我得到一条评论的所有用户数据时,我想得到回复者的所有用户数据。我真的很抱歉,如果这个问题已经在其他地方发布或记录,但我似乎无法找到这个问题的确切解决方案。

共有1个答案

裴华荣
2023-03-14

您应该寻找快速加载:https://laravel.com/docs/5.3/eloquent-relationships#eager-装载

如果您想获取所有帖子及其评论:

$posts = Post::with('comment')->get();

如果你想要所有的帖子与评论和评论的回复:

$posts = Post::with('comment.reply')->get();
 类似资料:
  • 所以我正在尝试为我的网站实现一个支付解决方案,经过相当多的研究,我仍然缺乏一个完整的解决方案。我正在运行Laravel 5.0,需要一般购物车付款功能。我想我会发布这篇文章,试图创建一个参考,以帮助其他可能有这个问题的人。我已经把测试事务放到了Paypal的沙箱中,这似乎是砖墙的所在,但是一个完整的概述会很有帮助。我将列出我需要克服的问题,以便解决一些问题。 完成支付解决方案实施需要解决的问题 >

  • 我需要关于laravel API的明确信息。 我一直在阅读很多关于 laravel API 的文章。除了在JWT和laravel-passport之间进行选择(这是一个完全不同的混淆程度),我需要获取有关laravelAPI的基本信息,以便让我更清楚地了解什么是什么。 为什么laravel护照需要数据库(这些表的用途是什么) 如果我在authProvider文件中将auth驱动程序更改为passp

  • 基本上,我试图在用户、post和回复数据库之间建立一种关系。以下是模型:注释模型 答复方式: 主要代码: 当我进入评论页面时,我得到以下错误: 未定义的属性:照亮\数据库\雄辩\关系\属于::$name。 这是我第一次使用关系,所以我查看了Laravel文档,但仍然不知道我做错了什么。基本上,我试图从用户数据库中获取用户名(使用comments user_id作为外键),获取评论详细信息(body

  • 在Laravel中,有可能把关系放在关系中吗? 我的两个模型: 商店 供应商 我的商店和供应商关系模型: null 正如您所看到的,我有许多商店和供应商,每个都可以通过SupplierStore表相互关联。 这很好用。 我的问题是,对于每一个关系(商店和供应商),可能有许多交货日。 我想如果我进入SupplierStore模型并添加: 会工作,但我似乎没有办法通过雄辩来访问这些数据? 我希望做这样

  • Laravel似乎是一个非常好的PHP框架,与一个好的ORM(雄辩)捆绑在一起。然而,laravel文档中缺少一些内容。文档中只有基本的内容。 无论如何,当涉及到雄辩和模型关系时,我有一个问题,当它跨越两个以上的模型。 例如,我有以下场景。 我有四个数据库表,即:,,,。模型/表格之间的关系如下所示: 用户可以属于多个位置,反之亦然。一个位置可以有许多包。 而我对应的模型关系如下: 我想做什么?: