Laravel Auth ::用户关系

时间:2018-04-04 08:10:56

标签: laravel

Laravel 中,我试图显示 Auth :: user 用户)和部门之间的关系元素。在用户表中,我有 id name department_id 。在部门表中,我有 id 名称

在用户模型中我创建

public function department()
    {
        return $this->belongsTo('App\Models\Department');
    }

然后,在刀片模板中,我尝试

  

验证::用户() - >部门

但是返回null并且不显示链接的 部门。 Null不正确,所有用户都有部门。嘿,¿有什么帮助吗? ¿关系有什么问题?

3 个答案:

答案 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');
}