Laravel lumen从另一个关系中获取数据

Laravel lumen从另一个关系中获取数据,laravel,lumen,Laravel,Lumen,我有三张表,分别是学院、学生、课程。我用的是流明5.7 以下是表格: 院系表: ----------------- |id|faculty_name| ----------------- | 1| test | ----------------- ---------------------------------- |id|program_study_name|faculty_id| ---------------------------------- | 1| program s

我有三张表,分别是学院、学生、课程。我用的是流明5.7

以下是表格:

院系表:

-----------------
|id|faculty_name|
-----------------
| 1| test       |
-----------------
----------------------------------
|id|program_study_name|faculty_id|
----------------------------------
| 1| program study    |         1|
----------------------------------
学生表:

----------------------------------
|id|student_name|program_study_id|
----------------------------------
| 1| student 1  |               1|
----------------------------------
| 2| student 2  |               1|
----------------------------------
项目研究表:

-----------------
|id|faculty_name|
-----------------
| 1| test       |
-----------------
----------------------------------
|id|program_study_name|faculty_id|
----------------------------------
| 1| program study    |         1|
----------------------------------
这就是模型:

Student.php

public function programStudy()
{
    return $this->belongsTo(ProgramStudy::class);
}
PorgramStudy.php

public function faculty()
{
    return $this->belongsTo(Faculty::class);
}
Faculty.php

nothing relation in faculty model
如何在学生模型中获取具有关系的教师数据

现在我在Student.php中创建如下函数:

public function getFaculty()
{
    return $this->programStudy()->first()->faculty()->first();
}
但是我想使用关系而不是函数获取教员数据,如果可能的话,您可以使用关系将您的学生链接到教员

公共职能学院()
{
返回$this->hasOneThrough(教员::班级,程序研究::班级);
}
您可以使用该关系将您的学生链接到教员

公共职能学院()
{
返回$this->hasOneThrough(教员::班级,程序研究::班级);
}

我已经尝试使用hasOneThrough,但如果我调用
dd($Student->faculty),则会出现此错误
“调用未定义的方法App\\Models\\Student::hasOneThrough()”
在StudentControllerd中,您的学生模型是否实际扩展了
Illumb\Database\Eloquent\model
,或者您使用的是较旧版本的Laravel?我已经添加了
使用Illumb\Database\Eloquent\model
,我使用的是Lumen 5.7抱歉-它看起来像是在Laravel 5.8中引入的。如果可能,您可能希望更新流明安装。我已经尝试使用hasOneThrough,但出现以下错误
“调用未定义的方法App\\Models\\Student::hasOneThrough()”
如果我调用
dd($Student->faculty)
在StudentControllerd中,您的学生模型是否实际扩展了
Illumb\Database\Eloquent\model
,或者您使用的是较旧版本的Laravel?我已经添加了
使用Illumb\Database\Eloquent\model
,我使用的是Lumen 5.7抱歉-它看起来像是在Laravel 5.8中引入的。如果可能的话,您可能需要更新流明安装。