다음과 같은 상황이 있습니다 ...여러 개의 belongsToMany가있는 Laravel 모델은 null을 반환합니다.
그룹에 속한 사용자가 있으며 그룹에 속한 게임이 있습니다.
모든 사용자의 그룹을 가져 오려고하지만 NULL을 반환합니다.
사용자 모델 :
public function groups(){
return $this->belongsToMany('App\Group', 'group_user');
}
그룹 모델 :
이public function games(){
return $this->belongsToMany('App\Game');
}
public function users(){
return $this->belongsToMany('App\User', 'group_user');
}
GROUP_USER 테이블 이제
Schema::create('group_user', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id');
$table->integer('group_id');
$table->timestamps();
});
내가 시도를 다음과 같이
내가 설정 한 관계를 가지고 모든 그룹을 얻으 라 fr 톰 선택한 사용자
$user = User::find(1);
$userGroups = $user->groups;
그래서 그 대신 $의 사용자 그룹이이 NULL의 사용자의 모든 그룹 인
사용자가 belongsToMany 그룹 인 경우 hasMany 사용자가 아니어야합니다. – chiliNUT
@chiliNUT 내가 틀렸다면 수정하십시오.하지만 사용자가 group_id를 가지고 있어야합니다. 사용자가 하나 이상의 그룹을 필요로하지 않도록하고 싶습니다. – ReduceTheRisk
모든 것이 올바르게 보입니다. '$ user-> groups() -> get()'은 무엇을 반환합니까? –