Переадресация Laravel при выходе из системы не работает

Я использую рамки laravel 4. Когда я использовал перенаправление после Auth :: logout (), перенаправление не работало. Я также использовал View :: make (), но тот же «Упс, похоже, что что-то пошло не так». ошибка взлетает.

public function getLogout() { Auth::logout(); return Redirect::to('users/login')->with('message', 'Your are now logged out!'); } 

Это код выхода. Я использую. Кто-нибудь, пожалуйста, помогите мне с этим.

routes.php

 Route::get('/', function() { return View::make('hello'); }); Route::controller('users', 'UsersController'); 

HTML

  @if(!Auth::check()) <li>{{ HTML::link('users/register', 'Register') }}</li> <li>{{ HTML::link('users/login', 'Login') }}</li> @else <li>{{ HTML::link('users/logout', 'logout') }}</li> @endif 

Это показывает мой отладчик.

 SQLSTATE[42S22]: Column not found: 1054 Unknown column 'remember_token' in 'field list' (SQL: update `users` set `updated_at` = 2014-04-23 11:30:41, `remember_token` = jSMcfpPnCPrKgwqfhB2tEEEd8h8x6d72viz67MbVzBD27A2G7AH8yWQo1ORf where `id` = 1) 

Возможно, вам не хватает значка_потока для таблицы пользователей.

см. http://laravel.com/docs/upgrade#upgrade-4.1.26

Laravel требует «nullable remember_token из VARCHAR (100), ТЕКСТ или эквивалент вашей таблицы пользователей».

Обновление для новой документации

В Laravel 4.2 теперь есть метод, который вы можете использовать с построителем схемы, чтобы добавить этот столбец.

$table->rememberToken();

Laravel Docs – Схема – Добавление столбцов

Если у вас есть Laravel 4.2, вы можете сделать это:

Командная строка:

 php artisan migrate:make add_remember_token_to_users_table --table="users" 

После этого откройте файл app / database / migrations / 2014_10_16_124421_add_remember_token_to_users_table и отредактируйте его следующим образом:

 public function up() { Schema::table('users', function(Blueprint $table) { $table->rememberToken(); }); } public function down() { Schema::table('users', function(Blueprint $table) { $table->dropColumn('remember_token'); }); } 

вот пример кода из того, как я обрабатываю регистрацию пользователей в своей системе с помощью Laravel 4. Я не уверен, почему ваш не работает, и вам будет хорошо видеть ваш маршрут и html-код, который также запускает процесс выхода из системы.

Маршрут

 Route::get('logout', array('uses'=>'UserController@logout')); 

Кнопка / ссылка HTML, вызывающая выход из системы

 <a href="{{URL::to('logout')}}" class="btn btn-danger btn-sm">Logout</a> 

Функция контроллера Обработка выхода из системы

 public function logout(){ Auth::logout(); return Redirect::to('login'); } из public function logout(){ Auth::logout(); return Redirect::to('login'); } 

Вот и получилось! Вы должны заменить его именами маршрутов и функциями контроллера. Это должно сработать! Если это не так, отправьте свой маршрут и html-код! Ура!

Из-за текущего обновления Laravel в таблице пользователя должен быть столбец «remember_token» . Это решает проблему.

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

 Route::post('logout', array('uses' => 'SessionController@doLogout')); 

Не забудьте использовать вместо этого следующее.

 Route::get('logout', array('uses' => 'SessionController@doLogout')); 

Это работало гладко.

Вам нужно добавить столбец update_at в таблицу SQL user_tbl. Если вы не хотите его использовать. вы также можете отключить отметки времени в вашей модели.

для вашей проблемы вы можете передать значение null или вы можете отключить значение remember_token в вашем файле php модели как

 public $remember_token=false;