2013-03-21 4 views
1

사용자가 역할을 가진 Laravel에 앱을 제작하고 있습니다.Laravel 1 대 다수 관계

사용자 모델을 return $this->belongs_to('Role')으로 설정하고 역할 모델을 return $this->has_many('User')으로 설정하고 사용자 데이터베이스 테이블에 role_id 열을 설정했습니다.

제 질문은 읽기 및 사용자 모델을 통한 역할 업데이트입니다. - $user->role = Input::get('role') 중 하나가 작동하지 않습니다

컨트롤러

@foreach($users->results as $user) 

    {{ $user->role->role }} // Trying to get property of non-object 
    {{ $user->role()->role }} // Undefined property 

    {{ var_dump($user->role) }} 

    // Outputs 
    object(Role)#39 (5) { 
     ["attributes"]=> 
      array(4) { 
       ["id"]=> string(1) "2" 
       ["role"]=> string(4) "User" 
       ["created_at"]=> string(19) "0000-00-00 00:00:00" 
       ["updated_at"]=> string(19) "0000-00-00 00:00:00" 
      } 
     ["original"]=> 
      array(4) { 
       ["id"]=> string(1) "2" 
       ["role"]=> string(4) "User" 
       ["created_at"]=> string(19) "0000-00-00 00:00:00" 
       ["updated_at"]=> string(19) "0000-00-00 00:00:00" 
      } 
     ["relationships"]=> 
      array(0) { 
      } 
     ["exists"]=> bool(true) 
     ["includes"]=> 
      array(0) { 
      } 
    } 

@endforeach 

및 업데이트가 비슷한 이야기 ​​

return View::make('admin.users.index')->with('users', User::paginate(50)); 
// Also tried User::with('role')->paginate(50) which doesn't help 

보기 : 아래의 코드는 내가 노력하지 만 지금까지 운이 있었어요 것입니다.

나는 분명히 뭔가를 여기에서 놓치고있다, 누군가 나에게 이것을하는 정확한 방법을 보여 줄 수 있었느냐?

답변

0

에 체크를 아웃 : http://vespakoen.github.com/authority-laravel/

이 laravel에 대한 ACL 기관 번들입니다. 사용자는 1에서 n 개의 역할을 가질 수 있으므로 this->has_many_and_belongs_to을 사용합니다.

+0

팁 주셔서 감사합니다. 그러나 특별히 많은 관계가 아닌 많은 관계로 작업하는 방법을 찾고 있습니다. – PaulK

0

당신이 볼 수있는 바와 같이, 역할은 배열을 반환합니다, 그래서 당신은

$ 사용자 -> 역할 [0]이 될 것입니다 배열

에 액세스 할 수있는 올바른 방법처럼 액세스 할 수 있습니다 -> 아이디