繁体   English   中英

Laravel 5.4雄辩的关系问题

[英]Laravel 5.4 Eloquent Relationship Issue

我需要清除对口才关系的怀疑。 我有2个模型User(Laravel附带)和Other是我创建的Role。 在迁移中,我添加了role_id作为附加列,因为我希望每个用户现在都必须拥有一个角色,我想基于用户的ID检索用户角色,因此,我在用户模型内创建了一个名为role的公共函数。

    public function roles(){
        return $this->belongsTo(Role::class);
    }

现在,当我尝试运行这样的查询时。

  App\User::find(1)->roles;

它不会返回任何结果,只是空白屏幕,但是当我将其更改为

    public function role(){
        return $this->belongsTo(Role::class);
    }

之后,我运行代码

  App\User::find(1)->role;

现在它返回ID为1的用户具有适当角色的确切行。 令人困惑的是,为什么使用role()函数不起作用,但是为什么使用role()函数却起作用。

抱歉,如果该问题已经发布,您可以将我重定向到该问题。

谢谢!

您必须指定外键

public function roles()
{
    return $this->belongsTo(Role::class, 'role_id');
}

但是,将其称为role()更准确,因为您假设用户只能具有一个角色。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM