我正在 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')
也不起作用。
我显然在这里遗漏了一些东西,有人可以告诉我正确的方法吗?