2015-11-11 4 views
0

Я использую Laravel 5.1 в течение 3 дней, и сегодня я столкнулся с проблемой. Я пытаюсь выйти на аутентификацию пользователя, но я получаю:Выезд с Laravel 5.1

BadMethodCallException в controller.php строке 283: Метод [getLogout] не существует.

В AuthController.php я положил, что:

public function getLogout() { 
     parent::getLogout(); 
     Auth::logout(); 
    } 

В routes.php

Route::get('auth/logout', 'Auth\[email protected]'); 

И это HTML в welcome.blade.php

<a href="auth/logout">Logout</a> 

Что я делаю не так?

ответ

4

getLogout is a method on the AuthenticatesUsers trait, а не на родителя вашего контроллера.

Удалите свой метод getLogout целиком и все должно работать должным образом.

+0

О, да, это действительно сработало. Большое спасибо. Я думал, что должен создать новый дочерний метод AuthenticatesUsers и поставить Auth :: logout(); в нем, поскольку в документах laravel говорится: «Чтобы вывести пользователей из приложения, вы можете использовать метод выхода на фасад Auth. Это очистит информацию аутентификации в сеансе пользователя – Alex

+0

@Alex - как вы можете видеть в методе get getoutout, [он вызывает 'Auth :: logout()' для вас] (https://github.com/laravel /framework/blob/4b8b1cdc9332a7aa4afff5e5b3d7183e9d882550/src/Illuminate/Foundation/Auth/AuthenticatesUsers.php#L118). –

+0

@JesephSilber Да, я это видел. Я действительно не думал, что Ларавель делает это для меня. Еще раз спасибо! – Alex