首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >排名关系(评论->用户->排名)

排名关系(评论->用户->排名)
EN

Stack Overflow用户
提问于 2021-08-23 20:04:00
回答 1查看 20关注 0票数 0

这是我第一次使用hasOneThrough,我不太明白,我一定是在什么地方遗漏了一个hasOne。

当我发布我的评论时,我希望能够与用户进行连接,然后排名。

下面是用户模型之间的关系:

代码语言:javascript
复制
public function comments()
    {
        return $this->hasMany('App\Models\Comment');
    }
    
    public function rank()
    {
        return $this->belongsTo('App\Models\Rank');
    }

下面是模型Rank之间的关系:

代码语言:javascript
复制
    public function users()
    {
        return $this->hasMany('App\Models\User');
    }

    public function user()
    {
        return $this->hasOne('App\Models\User');
    }

以下是模型注释之间的关系:

代码语言:javascript
复制
    public function user()
    {
        return $this->belongsTo('App\Models\User');
    }

===> public function rank()
    {
        return $this->hasOneThrough(Rank::class, User::class);
    }

我在控制器中的方法:

代码语言:javascript
复制
$comments = Comment::where('status','=', Comment::STATUS_VISIBLE)
            ->with('user') (working)
            ->with('rank') (not working)
            ->latest()
            ->paginate(10);

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-23 20:34:28

您可能正在寻找:

代码语言:javascript
复制
$comments = Comment::where('status','=', Comment::STATUS_VISIBLE)
        ->with('user') 
        ->with('user.rank') 
        ->latest()
        ->paginate(10);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68898418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档