Php 雄辩-在嵌套关系上使用渴望加载时出现问题

Php 雄辩-在嵌套关系上使用渴望加载时出现问题,php,laravel,eloquent,Php,Laravel,Eloquent,我试图加载嵌套关系,但返回正确结果时遇到问题 以下是模型: User.php class User extends Model { public function universities() { return $this->hasMany('\StudentApp\Models\UserUniversity'); } } class UserUniversity extends Model { protected $fillable =

我试图加载嵌套关系,但返回正确结果时遇到问题

以下是模型:

User.php

class User extends Model
{
    public function universities()
    {
        return $this->hasMany('\StudentApp\Models\UserUniversity');
    }
}
class UserUniversity extends Model
{
    protected $fillable = [ 'user_id', 'university_id', 'choice' ];

    public function university()
    {
        return $this->hasOne('\StudentApp\Models\University');
    }
}
class University extends Model
{
    protected $table = 'university';
}
UserUniversity.php

class User extends Model
{
    public function universities()
    {
        return $this->hasMany('\StudentApp\Models\UserUniversity');
    }
}
class UserUniversity extends Model
{
    protected $fillable = [ 'user_id', 'university_id', 'choice' ];

    public function university()
    {
        return $this->hasOne('\StudentApp\Models\University');
    }
}
class University extends Model
{
    protected $table = 'university';
}
University.php

class User extends Model
{
    public function universities()
    {
        return $this->hasMany('\StudentApp\Models\UserUniversity');
    }
}
class UserUniversity extends Model
{
    protected $fillable = [ 'user_id', 'university_id', 'choice' ];

    public function university()
    {
        return $this->hasOne('\StudentApp\Models\University');
    }
}
class University extends Model
{
    protected $table = 'university';
}
我要做的是通过ID获取用户,从
UserUniversity
pivot表中获取用户大学,然后从
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\u university\u id
不正确。该列不存在,我不知道它为什么要使用该列

它应该使用的是
user.university\u id

我如何才能做到这一点?

正确的语法是:

User::with('universities.university')
另外,确保在
大学
表中使用了正确的外键:

user_university_id
或者在关系中定义另一个键:

public function university()
{
    return $this->hasOne('\StudentApp\Models\University', 'another_foreign_key');
}

您应该添加外键和主键:

public function universities()
{
    return $this->hasMany('\StudentApp\Models\University', 'university_id', 'id');
}