【发布时间】:2016-06-22 05:31:21
【问题描述】:
当用户注册到网站时,我使用 Eloquent hasOne 在用户和 users_permissions 表之间创建关系,并根据他们在表单上输入的内容对用户进行分组,效果很好,但是我使用相同的方法认为它无法识别同一用户何时登录网站。
以下代码在用户注册网站时起作用
$user->permissions()->create(UserPermission::user_group($nature_of_entity));
但是当我想使用下面的方法时,我得到一个错误 尝试获取非对象的属性。
public function hasPermission($permission) {
return (bool) $this->permissions->$permission;
}
public function permissions() {
return $this->hasOne('App\User\UserPermission', 'user_id');
}
在用户数据库中有一个名为 users_permissions 的表,它有 (id, user_id, is_group_one, is_group_two, is_group_three)
我正在尝试查看用户在哪个组中,例如:
if($app->user->hasPermission('is_group_one')){
echo 'Group One';
}
但我得到一个错误试图获取非对象的属性。 如果有任何帮助,如果它们是我可以做到这一点并使用 Laravel Eloquent 关系方法的方法,我将非常感激。我希望你能明白我的意思。
【问题讨论】:
-
您在权限数据库中究竟存储了什么?
标签: php mysql laravel eloquent