2016-01-05 2 views
1

В laravel 5.1 Я перезаписал postRegister, а затем перенаправил его на путь, и он работал хорошо, но в Laravel 5.2 я пишу тот же код, что он не работал. здесь некоторые из моего кодаНевозможно перенаправить на путь в Laravel 5.2

public function postRegister(Request $request) 
    { 
     $validator = $this->validator($request->all()); 

     if ($validator->fails()) { 
      $this->throwValidationException(
       $request, $validator 
      ); 
     } 

     $this->create($request->all()); 

     return redirect('login'); 
    } 

Это я хочу перенаправить на страницу после регистрации пользователя.

У меня проблема, как это:

ErrorException in SessionGuard.php line 411: 

Аргумент 1 передается Осветить \ AUTH \ SessionGuard :: логин() должен реализовывать интерфейс Осветите \ Контракты \ Auth \ его подлинности, нуль дал

Примечание: Я использовал Laravel по умолчанию scafold

спасибо заранее

+0

где вызов Auth :: логин происходит? – lagbox

ответ

0

postRegister() больше не метод, чтобы переопределить. Используйте вместо этого:

public function register(Request $request) 
{ 
    $validator = $this->validator($request->all()); 

    if ($validator->fails()) { 
     $this->throwValidationException(
      $request, $validator 
     ); 
    } 

    Auth::guard($this->getGuard())->login($this->create($request->all())); 

    return redirect(route('route.after.register')); 
} 

Не забудьте импортировать Auth Фасад:

use Illuminate\Support\Facades\Auth; 
0

ли ваши маршруты insid e web промежуточное ПО? В Laravel 5.2 появилась новая функция, называемая группами промежуточного программного обеспечения. Чтобы использовать сеанс, ваш маршрут должен находиться внутри промежуточного программного обеспечения web. Если вы проверяете Kernel.php, вы получите четкое представление о внутри промежуточных программных групп web промежуточных

'web' => [ 
     \App\Http\Middleware\EncryptCookies::class, 
     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
     \App\Http\Middleware\VerifyCsrfToken::class, 
    ], 
+0

@ nauphal вот мой маршрут Route :: group (['middleware' => 'web'], function() { Route :: auth(); Route :: get ('account/verify/{activation_code}' , 'Auth \ AuthController @ verify'); Route :: get ('/ home', 'HomeController @ index'); }); –

Смежные вопросы