Laravel - свойство ошибки необъекта при выходе - PullRequest
0 голосов
/ 22 октября 2018

Мой проект предназначен для отображения названия компании пользователя в URL-адресе, которое отлично работает при входе в систему. Однако при любом представлении, к которому я применяю приведенное ниже решение, выбрасывается свойство не объектной ошибки при выходе из системы, потому что оно выглядитдля auth :: user company и не могу найти его.

Я пробовал несколько вещей, но не могу заставить его работать, чтобы перенаправить на вход в систему, хотя все еще используя приведенное ниже решение.Есть ли способ сделать это?

код web.php с ошибкой:

Route::get('/home/{company}', 'HomeController@index'); 
Route::get('/home',function(){
 return redirect('home/'.Auth::user()->company);
});

, поэтому, когда я выхожу и URL-адрес mywebsite / home, я получаю объектную ошибку, но еслиЯ вручную исправляю что-либо до конца этого, оно перенаправляет.например, mywebsite / home / random

код, который не выдает ошибку и перенаправляет, как ожидается:

 Route::get('/home', 'HomeController@index'); 

Ответы [ 3 ]

0 голосов
/ 22 октября 2018

По аналогии с решением Jonathons, с auth :: check, но с организацией всех маршрутов через группу.

Route::group(['middleware' => ['auth']], function() { -- all routes in here --- });
0 голосов
/ 22 октября 2018

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

Route::get('/home/{company}', 'HomeController@index')->name('home')

Route::get('/home',function(){
 return redirect()->route('home', \Auth::user()->company);
});
0 голосов
/ 22 октября 2018

Попробуйте что-то вроде этого:

Route::get('/home',function(){
    return redirect(Auth::check() ? 'home/'.Auth::user()->company : 'login');
});

Таким образом, при обращении к URL-адресу /home система сначала проверит, вошел ли пользователь в систему. Если это так, она будет перенаправленана страницу авторизованного пользователя.Если нет, он будет перенаправлен на страницу входа.Auth::check() вернет true, если пользователь вошел в систему, или false, если нет.

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