在Laravel中,我试图显示Auth :: user(用户)和Departments之间的关系元素。在用户表中,我具有id,name和department_id。在Departments表中,我具有id和name。
在用户模型中,我创建
public function department()
{
return $this->belongsTo('App\Models\Department');
}
Run Code Online (Sandbox Code Playgroud)
然后,在刀片模板中尝试
Auth :: user()->部门
但是返回null,不显示链接的 部门。Null不正确,所有用户都有部门。o,有帮助吗?¿关系有什么问题?
aci*_*azz 18
此方法使用较少的查询 - 其他方法会查询用户表两次:
auth()->user()->load(['department']);
Run Code Online (Sandbox Code Playgroud)
在调用belongsTo 方法时,您应该添加'department_id' 作为第二个参数($foreignKey),因为它默认会搜索departmento_id。
public function departamento()
{
return $this->belongsTo('App\Models\Departamento', 'department_id');
}
Run Code Online (Sandbox Code Playgroud)
或者只是将 User::departamento() 方法重命名为 User::department()
public function department()
{
return $this->belongsTo('App\Models\Departamento');
}
Run Code Online (Sandbox Code Playgroud)