Laravel 模型中的 hasOneThrough 关系

Laravel hasOneThrough Relationship In Model

假设我有一个数据库模式如下:

Department -> id | department_name
Employee -> id | department_id | name
Attendance -> id | employee_id | timestamp

我可以使用 hasManyThrough 关系从 Department 模型中检索部门的所有出勤情况,如下所示:

public function attendance() {
    return $this->hasManyThrough(EmployeeAttendance::class, Employee::class, 'department_id', 'employee_id', 'id', 'id');
}

但是,我正在尝试做相反的事情,即从出勤模型中检索员工的部门。我曾尝试使用 hasOneThrough 关系,但我无法获得它。我已经查看了文档以及相同的其他教程。任何关于如何通过 Attendance 模型中的关系来做到这一点的帮助将不胜感激。

您可以预先加载嵌套关系,您可以在 documentation.

中看到更多关于它们的信息
Attendance::with('employee.department')->find($id);

如果你想在出勤率和部门之间建立关系,你会想做这样的事情: 在出勤模型中:

public function employee()
{
    return $this->belongsTo(Employee::class);
}

在员工模型中:

public function department()
{
    return $this->belongsTo(Department::class);
}