2016-09-12 8 views
0

laravel 5.2를 사용하여 응용 프로그램을 개발하고 있습니다. 이제 내가 필요로하는 것은 두 개의 테이블이 있는데 첫 번째 테이블은 사용자이고 두 번째 테이블은 그룹입니다. 그룹 테이블은 users 테이블의 상위 테이블입니다. 여기서 groups_id는 그룹이있는 외래 키가있는 열 table (group_id)입니다. 이제 다음과 같이 내가 코드를 사용하고 로그인 할 때laravel의 인증시 테이블 그룹 조인 5.2

$users = User::leftJoin('groups', 'groups.group_id', '=', 'users.groups_id')->where('email', base64_decode(base64_decode(trim($request->input('user_login')))))->first(); 

내가 그룹 테이블을 조인 조인 사용하는 경우. 하지만 완벽하게 실행되고 있지만 세션에 데이터가 표시되지 않습니다 (Auth :: user()). 그래서 두 번째 테이블을 세션에 추가하는 방법을 제안하고 행을 외래 키 레코드와 조인하십시오. 감사합니다. .

+0

문서에 대한 자세한 정보를 찾을 수 있습니다이

class Group extends Mdoels { .......... public function Users() { return $this->hasMany('App\Models\Users','group_id','group_id'); } .......... } 

같은 그룹 모델이 관계의 역을 정의 'auth() -> user() -> group()'여기서 group은 관계를 정의한 사용자 모델의 함수 이름입니다. –

+0

부탁을 들어주세요. 그룹 모델을 만들었고 어떤 코드 블록을 써야하는지 설명하십시오. –

답변

0

당신은 지금 당신은 어디서든 이러한 코드 라인으로, 언제든지 제작 된 사용자 그룹에 액세스 할 수 있습니다이

class User extends Authenticatable 
{ 
    ...... 

    /* 
    * Relation to Group Model 
    * 
    */ 
    public function group() 
    { 
    return $this->belongsTo('App\Models\Group','group_id','group_id'); 
    } 

    ...... 
} 

같은 사용자 모델에서의 관계를 정의해야

auth()->user()->group() 

또는

$user = User::find($id); 
$user->group(); 

그리고 그룹에서 사용자를 검색하려면 N 당신에 의해 언제든지 당신이 그룹 모델과 사용자 모델에서 관계를 추가 할 수 있으며 사용자 그룹을 얻을 수있는 것보다 here