Bir kullanıcı eklemek için bir form gönderdiğimde aşağıdaki hatayı alıyorum "nesne olmayan bir özelliği almaya çalışıyorum" hata görünüşe göre ilk satırda: 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);
Bir fikrin var mı? Bir süre araştırdım ve gördüğüm her şey bunun iyi çalışması gerektiğini söylüyor. Kullanıcım Sentry 2 kimlik doğrulama paketini kullanarak oturum açtı.
Eğer Sentry
kullanıyorsanız, oturum açan kullanıcıyı Sentry::getUser()->id
ile kontrol edin. Aldığınız hata, Auth::user()
işlevinin NULL döndürmesi ve idyi NULL
dan almaya çalışması, dolayısıyla nesne olmayan bir nesneden bir özellik almaya çalışma
hatasıdır.
İyi giriş yaptığınızdan emin olmak için önce bir Auth::check() yapın:
if (Auth::check())
{
// The user is logged in...
}
id korumalı
ise, /models/User.php
dosyanıza bir public yöntem eklemeniz yeterlidir
public function getId()
{
return $this->id;
}
böylece onu arayabilirsin
$id = Auth::user()->getId();
her zaman kullanıcının oturum açıp açmadığını test etmeyi unutmayın...
if (Auth::check())
{
$id = Auth::user()->getId();
}