Laravel - Попытка получить свойство 'name' необъекта (Представление: C: \ xampp \ htdocs \ jairusreport \ resources \ views \ layouts \ header.blade.php) - PullRequest
0 голосов
/ 05 июля 2019

У меня есть приложение на Laravel 5.8. Каждый раз, когда пользователь долго остается в приложении, эта ошибка появляется

Попытка получить свойство 'name' необъекта (представление: C: \ xampp \ htdocs \ jairusreport \ resources \ views \ layouts \ header.blade.php)

session error

В течение нескольких дней я боролся с какой-то конкретной ошибкой, и это действительно потратило мое время. Я сделал скриншот ошибки ниже.

Auth / LoginController

class LoginController extends Controller   
{
use AuthenticatesUsers;
protected $redirectTo = '/dashboard';

protected function hasTooManyLoginAttempts ($request) {
    $maxLoginAttempts = 2;
    $lockoutTime = 5; // 5 minutes
    return $this->limiter()->tooManyAttempts(
        $this->throttleKey($request), $maxLoginAttempts, $lockoutTime
    );
}  

public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function logout()
{
    $user = Auth::user();
    Log::info('User Logged Out. ', [$user]);
    Auth::logout();
    Session::flush();

    return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/login');
}    
}

В чем причина проблемы. Что мне делать, чтобы решить эту проблему.

Ответы [ 2 ]

1 голос
/ 05 июля 2019

Будет две возможные вещи

  1. Либо в базе данных нет полей, чье имя, т.е. имя

  2. Или вы не вошли в систему.

Для проверки, вошел ли пользователь в систему или нет

if(Auth::check())
{
   echo Auth::user()->id;
 }

Проверьте вышеуказанное условие и не забудьте добавить это в модель пользователя

class user
{
   protected $fillable = [
    'name'
   ];
 }
0 голосов
/ 05 июля 2019

Laravel использует сессии для отслеживания аутентифицированных пользователей.Возможно, что время сеансов истекло, а пользователь вышел из системы.

Чтобы избежать возникновения проблем в ваших представлениях, я бы посоветовал обнулить проверку Auth::user() или использовать Auth::check() сblade if-block.

Если вы хотите изменить SESSION_LIFETIME, взгляните на config/session.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...