2014-07-07 2 views
0

사용자 간의 관계를 만들어야합니다. 예상대로 그들은 users 테이블에 있습니다. 내 접근 방식은 relationshipsuser_a_id ~ user_b_id을 연결하는 테이블입니다.사용자 관계, Many to Many

다음, User 모델에서, 나는 추가 :

public function relationships() 
{ 
    return $this->belongsToMany('User', 'relationships', 'user_a_id', 'user_id'); 
} 

불행하게도, 내가 관계를 찾기 위해 노력 오류가;

dd($user->relationships); 

출력 : 잘못된 것 같습니다.

답변

0

나는 "사용자"모델과 "그룹"모델과 같은 것을 고려할 것입니다. users 테이블은 groups 테이블과 many-to-many 관계를 가질 수 있으며 "user_id"컬럼과 또 다른 "group_id"컬럼을 포함하는 "user_group"테이블로 정의 될 수 있습니다. 그런 다음 사용자 모델에서 $ this-> belongsToMany ('Group');을 반환하는 그룹이라는 함수를 가질 수 있으며 그룹 모델의 Users라는 함수가 $ this-> belongsToMany ('User');

자세한 지침은 Eloquent 문서의 this 섹션을 참조하십시오.

+0

'user_a'가'user_b'와 친구 인 경우,'User A B Friendship' (또는 뭔가)라는 그룹을 만들고 그 두 명의 사용자에게만 할당해야합니까? – Donnie

+0

기본적으로 두 테이블 간의 다 대다 관계를 수행하려면 기본적으로 관련 테이블의 ID를 참조하는 (최소한) 두 개의 열이 포함 된 세 번째 테이블이 필요합니다. 원하는 경우 관계에 대한 추가 정보 (예 : 이름 또는 설명)를 저장할 수도 있지만 이는 귀하에게 달려 있습니다. – John