2014-11-23 4 views
0

피봇 테이블 users_operators가 있습니다. 사용자의 operator_id를 가져오고 싶습니다.Laravel 피봇 테이블에서 데이터 가져 오기

이것은 내가 지금하는 방법이지만, 자세한 것은 그 것처럼 보입니다. 당신이 때 오타가 있었다처럼

if (Auth::user()->type === 'operator') { 
    $user = Auth::user(); 

    // There is a better way to do this? 
    $operator_id = $user->operator[0]['pivot']['operator_id']; 

    Session::put('operatorId', $operator_id); 
} 

class Operator extends \Eloquent 
{ 
    public function users() { 
     return $this->belongsToMany('User'); 
    } 

} 

class User extends \Eloquent 
{ 
    public function operator() { 
     return $this->belongsToMany('Operator'); 
    } 

} 

답변

0

나는 불면증을 진압하고 100 % 작동하지 않습니다,하지만 당신은 내가 할 모델을 해석하고있는 무슨에 따라 $user->operator->id 멀리 얻을 수 있어야 해요 (그것은 본다 당신은 그것들을 질문에 복사했습니다).

아직 작동하지 않는 경우 Eloquent docs의 '동적 속성'섹션을 확인하십시오. 아직 확인하지 않은 경우 자세한 내용을 확인하십시오.

+0

내가 이것을 할 때 Im은 정의되지 않은 속성 $ operator_id를 얻습니다. $ user = 사용자 :: find (57); dd ($ user-> operator-> operator_id); –

+0

'$ user-> operator> id'를 대신 사용해보십시오. 피벗 테이블이 아니라 운영자 모델을 참조 할 때 'operator_' 접두사가 필요하지 않습니다. – jakeharris

+0

정의되지 않은 속성 : Illuminate \ Database \ Eloquent \ Collection :: $ –

관련 문제