diff --git a/src/Illuminate/Session/Middleware/StartSession.php b/src/Illuminate/Session/Middleware/StartSession.php index ed3fd8ef2466..748e8a55f336 100644 --- a/src/Illuminate/Session/Middleware/StartSession.php +++ b/src/Illuminate/Session/Middleware/StartSession.php @@ -204,6 +204,10 @@ protected function storeCurrentUrl(Request $request, $session) ! $request->prefetch() && ! $request->isPrecognitive()) { $session->setPreviousUrl($request->fullUrl()); + + if (method_exists($session, 'setPreviousRoute')) { + $session->setPreviousRoute($request->route()->getName()); + } } } diff --git a/src/Illuminate/Session/Store.php b/src/Illuminate/Session/Store.php index e9f98383ec2c..4457e5a2021c 100755 --- a/src/Illuminate/Session/Store.php +++ b/src/Illuminate/Session/Store.php @@ -789,6 +789,27 @@ public function setPreviousUrl($url) $this->put('_previous.url', $url); } + /** + * Get the previous route name from the session. + * + * @return string|null + */ + public function previousRoute() + { + return $this->get('_previous.route'); + } + + /** + * Set the "previous" route name in the session. + * + * @param string|null $route + * @return void + */ + public function setPreviousRoute($route) + { + $this->put('_previous.route', $route); + } + /** * Specify that the user has confirmed their password. *