2017-12-02 3 views
1

나는 ID 이 "다른 표준 인증 물건"Laravel 관계 및 피벗

나는 또한이

내가 사용자 테이블을 변경하지 않는 역할 테이블 ID 역할을 ROLE_ID 사용자 테이블이 현재 laravel 5.4와 함께 제공되는 모든 승인 자료를 수행한다는 의미에서

나는 역할이있는 사용자가 있습니다. 코치와 플레이어가 두 가지 유형의 역할을 담당하고 있다고 가정 해 봅시다. 이제 코치가 선수와 선수를 추가하여 코치에 추가하고 관련을 갖도록 허용해야합니다.

플레이어 및 코치에 대한 새 모델을 만들지 않고도 coaches_players와 같은 별도의 테이블에서 사용자 모델 역할 유형 코치 및 역할 유형 플레이어를 연관시킬 수 있습니까? 그렇다면 누군가가 올바른 방향으로 나를 가리킬 수 있습니다. 나는 내가 선수와 코치가 belongsToMany 등을 통해 관련 것이다 처음부터 다시 시작했다하지만 내 시스템의 모든 USER_ID 오프 작동하고 나는 모든 인증 기능을 변경하지 않는 경우 등

  1. 가 알고 사용자를 확장하고 이들을 통해 관계를 만드는 플레이어 및 코치 모델을 만드는 방법?
  2. 피벗 테이블 coaches_players를 통해 User 테이블의 두 열을 연결하는 방법이 있습니까?

당신이 머리 꼭대기에서 벗어난다면 약간의 안내와 가능성이있는 링크를 찾고 있습니다.

답변

0

물론이 작업을 수행 할 수 있습니다. 그냥 User 모델에서 새로운 관계를 coaches_players 테이블을 만들고 정의 : 내가 노력 할게요

public function players() 
{ 
    $this->belongsToMany(User::class, 'coaches_players', 'coach_id', 'player_id'); 
} 

public function coaches() 
{ 
    $this->belongsToMany(User::class, 'coaches_players', 'player_id', 'coach_id'); 
} 
+0

감사합니다. 나는 상속 경로를 시도했지만 작동시키지 못했습니다. 나는 이걸 줄거야 !! – Mudd

+0

질문 : 역할 테이블에서 role_id 또는 역할 이름을 어디에 표시해야합니까? 사용자 레코드에는 사용자 테이블에 role_id가 포함되어 있습니다. – Mudd

+0

@ 관계에 대해서는 필요하지 않다고 생각하십니까? –