Как исправить 'попытку получить свойство' id 'не объекта. после выхода, когда я возвращаюсь, то ошибка, которую я получил - PullRequest
0 голосов
/ 03 мая 2019

Прежде всего спасибо заранее.

Когда я выхожу из своей панели администратора и возвращаюсь позже (чтобы убедиться, что она не переходит на страницу администратора без входа в систему), я получаю сообщение об ошибке «Попытка получить свойство id объекта без объекта»

Вот мой контроллер. Php

protected $user_info;
protected $user_id;


public function __construct()
{
    $this->middleware(function ($request, $next) {

        $check_url = $request->segment(1);

        if($check_url == 'admin')
        { 
            $login_user_info = auth()->guard('admin')->user();

            $login_user_id = auth('admin')->user()->id;
            **// error here is**

            $login_user_role_id = auth('admin')->user()->role; 

            $this->user_info = Admin::with(['role_list'])
            ->where('id',$login_user_id)
            ->get()->toArray();
        }
        return $next($request);
    });

1 Ответ

1 голос
/ 03 мая 2019
$this->middleware(function ($request, $next) { 
    $check_url = $request->segment(1); 
    if($check_url == 'admin') {

        // check if admin is logged in
        If( !Auth::guard('admin')->check() ){
            return redirect()->back();
        }

        $login_user_info = auth()->guard('admin')->user();                
        $login_user_id = auth('admin')->user()->id;

        $login_user_role_id = auth('admin')->user()->role;
        $this->user_info = Admin::with(['role_list'])->where('id',$login_user_id) ->get()->toArray();
  }
  return $next($request); });

Поскольку вы не проверяли, вошел ли администратор в систему, ваш код попытается получить не установленный идентификатор пользователя.Я обновил ваш код, чтобы включить чек

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