Laravel:Auth::user()->id 试图获取非对象的属性

2022-01-08 00:00:00 authentication php laravel laravel-4

当我提交表单以添加用户时,我收到以下错误尝试获取非对象的属性",错误显然在第一行:Auth::user()->id以下内容:

I'm getting the following error "trying to get a property of a non-object" when I submit a form to add a user, the error is apparently on the first line: Auth::user()->id of the following:

$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 身份验证包登录.

Any ideas? I've searched for a while and everything I see says this should work fine. My user is logged in using the Sentry 2 authentication bundle.

推荐答案

如果你使用 SentrySentry::getUser()->id 检查登录用户代码>.您得到的错误是 Auth::user() 返回 NULL 并尝试从 NULL 获取 id 因此错误 trying to get a property from a non-object.

If you are using Sentry check the logged in user with Sentry::getUser()->id. The error you get is that the Auth::user() returns NULL and it tries to get id from NULL hence the error trying to get a property from a non-object.

相关文章