Laravel HasManyThrough 键

Laravel HasManyThrough Keys

我有 3 个模型:用户、程序、用户程序。 UserProgram 是它自己的实际模型。

以下是模型在数据库中的样子:

我希望在我的程序模型中:

function users() {
    return $this->hasManyThrough('App\User','App\UserProgram');
}

但这不起作用。我怎样才能使这种关系发挥作用?

hasManyThrough 不用于此目的。您需要 many-to-many 关系。

class Users {
  public function programs() {
    return $this->belongsToMany('App\Program', 'user_programs', 'user_id', 'program_id');
  }
}

class Program {
  public function users() {
    return return $this->belongsToMany('App\User', 'user_programs', 'program_id', 'user_id');
  }
}