【发布时间】:2013-07-24 00:57:06
【问题描述】:
当我提交表单以添加用户时,我收到以下错误“尝试获取非对象的属性”,错误显然在第一行:Auth::user()->id以下内容:
$id = Auth::user()->id;
$currentuser = User::find($id);
$usergroup = $currentuser->user_group;
$group = Sentry::getGroupProvider()->findById($usergroup);
$generatedPassword = $this->_generatePassword(8,8);
$user = Sentry::register(array('email' => $input['email'], 'password' => $generatedPassword, 'user_group' => $usergroup));
$user->addGroup($group);
有什么想法吗?我已经搜索了一段时间,我看到的一切都说这应该可以正常工作。我的用户使用 Sentry 2 身份验证包登录。
【问题讨论】:
-
您的 User 表中是否有名为 id 的列?如果没有,那就是问题所在。
-
是的,id 在那里@OffTheFitz 表被称为用户
-
如果我错了,但您正在尝试注册登录用户,请纠正我?如果您使用 Sentry 注册用户,为什么要调用
Auth::user();? Auth::user() 返回当前登录的用户,所以你试图注册一个应该登录的用户,这没有意义 -
@Josh 你的模型怎么样。 protectedKey 是什么?
-
如果您使用 Sentry,请使用
Sentry::getUser()->id检查登录用户。您得到的错误是Auth::user()返回 NULL 并尝试从 NULL 获取 id 因此错误trying to get a property from a non-object。
标签: php authentication laravel laravel-4