[英]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.