我有3个型号:User,Program,UserProgram。 UserProgram是它自己的实际模型。
以下是模型在数据库中的外观:
我想在我的程序模型中使用:
function users() {
return $this->hasManyThrough('App\User','App\UserProgram');
}
但这不起作用。我怎样才能使这种关系有效?
答案 0 :(得分:2)
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');
}
}