在 Laravel 中,我试图显示 Auth :: user (用户)和部门之间的关系元素。在用户表中,我有 id , name 和 department_id 。在部门表中,我有 id 和名称。
在用户模型中我创建
public function department()
{
return $this->belongsTo('App\Models\Department');
}
然后,在刀片模板中,我尝试
验证::用户() - >部门
但是返回null并且不显示链接的 部门。 Null不正确,所有用户都有部门。嘿,¿有什么帮助吗? ¿关系有什么问题?
答案 0 :(得分:3)
您可以尝试此User::with('departmento')->find(Auth::id());
答案 1 :(得分:1)
关系适用于Model。 Auth使用不使用关系的会话
使用User
模型
optional(User::find(Auth::id())->departmento)->department_name
答案 2 :(得分:0)
你应该在调用belongsTo方法时添加'department_id'作为第二个参数($ foreignKey),因为它默认会搜索departmento_id。
public function departamento()
{
return $this->belongsTo('App\Models\Departamento', 'department_id');
}
或者只是将User :: departamento()方法重命名为User :: department()
public function department()
{
return $this->belongsTo('App\Models\Departamento');
}