Маршрут вызова Laravel от контроллера

Я вызываю маршрут get_started после успешного входа в систему:

protected $redirectTo = '/getting_started';

Вот мой код маршрутаget_started:

Route::get('/getting_started','UserController@getting_started');

И код контроллера:

public function getting_started()
{
    $id= Auth::id();
    $user = DB::table('user_profiles')->where('user_id', '=', $id)->first();

    if($user->dashboard_access == 0)
    {
        DB::table('user_profiles')
            ->where('user_id', $id)
            ->update(['dashboard_access' => 1]);
        return view('user.getting_started');
    }

    return view('user.dashboard');
}

Он отлично работает и показывает в URL:

http://localhost:8080/getting_started

Теперь я действительно хочу, чтобы, если представление user.dashboard вызывалось, оно отображалось в URL-адресе, например:

http://localhost:8080/dashboard`

И на getting_started просмотре шоу:

http://localhost:8080/getting_started

Можно вызвать маршрут панели вместо:

  return view('user.dashboard');

Мой дашобардский маршрут:

Route::get('/dashboard',['middleware' => 'auth', function () {
    return view('user.dashboard');
}]);

person Umair Zahid    schedule 02.03.2016    source источник


Ответы (2)


Я так понимаю, что вы ищете эту функцию

return redirect()->route('dashboard');

Это мое понимание вашего вопроса, которое может быть неправильным. Может быть, вы спрашиваете что-то еще.

person Yasir Ijaz    schedule 02.03.2016

Это называется перенаправлением, и вам особенно нужно Возврат перенаправления на именованный маршрут, ваш маршрут с именем user.dashboard поэтому вы можете перенаправить на него с помощью redirect()->route(route_name) :

return redirect()->route('user.dashboard');

Надеюсь это поможет.

person Zakaria Acharki    schedule 02.03.2016