Laravel HasManyThrough 键
Laravel HasManyThrough Keys
我有 3 个模型:用户、程序、用户程序。 UserProgram 是它自己的实际模型。
以下是模型在数据库中的样子:
- 用户
- 编号
- 节目
- 编号
- user_programs
- user_id
- program_id
我希望在我的程序模型中:
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');
}
}
我有 3 个模型:用户、程序、用户程序。 UserProgram 是它自己的实际模型。
以下是模型在数据库中的样子:
- 用户
- 编号
- 节目
- 编号
- user_programs
- user_id
- program_id
我希望在我的程序模型中:
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');
}
}