我在尝试加载嵌套关系,但我无法返回正确的结果。雄辩 - 在嵌套关系上使用急切加载时出现问题
下面是型号:
user.php的
class User extends Model
{
public function universities()
{
return $this->hasMany('\StudentApp\Models\UserUniversity');
}
}
UserUniversity.php
class UserUniversity extends Model
{
protected $fillable = [ 'user_id', 'university_id', 'choice' ];
public function university()
{
return $this->hasOne('\StudentApp\Models\University');
}
}
University.php
class University extends Model
{
protected $table = 'university';
}
我想要做的是通过ID获取用户,从UserUniversity
数据透视表中获取用户大学,然后从University
表中获取该大学的名称。
我已经尝试了以下测试,如果它的工作原理:
$user = User::with('universities')->find($this->jwtObject->uid);
return $response->withJson($user->universities[0]->university);
,但我得到了以下错误:
Column not found: 1054 Unknown column 'university.user_university_id' in 'where clause' (SQL: select * from `university` where `university`.`user_university_id` = 10 and `university`.`user_university_id` is not null limit 1) [] {"uid":"28c5a97"}
user.user_university_id
不正确。该列不存在,我不知道它为什么试图使用该列。
什么,应该使用是user.university_id
我怎样才能做到这一点?