我在Laravel構建了一個用戶具有角色的應用程序。Laravel一對多關係
我已經設置了用戶模型return $this->belongs_to('Role')
和角色模型return $this->has_many('User')
並且用戶數據庫表具有列role_id。
我的問題是閱讀,並通過用戶模型更新角色。下面的代碼是我一直很努力,但到目前爲止沒有運氣:
控制器
return View::make('admin.users.index')->with('users', User::paginate(50));
// Also tried User::with('role')->paginate(50) which doesn't help
查看
@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
和更新是一個類似的故事 - $user->role = Input::get('role')
也不起作用。
我很明顯錯過了一些東西,有人能告訴我正確的方法來做到這一點嗎?
感謝您的提示,但我特別在尋找如何使用一對多關係而不是多對多 – PaulK 2013-03-25 09:40:11