我正在整理我的代码,我有理由删除我的formhandler函数之外的登录函数。但是,当我在被调用函数中调用返回路由行时,它只是将此路由返回给父控制器,而父控制器对它没有任何作用。我希望我的重定向在被调用的函数中执行。
public static function loginFormHandler(){
//some stuff is done
$this->doLogin();
}
public static function doLogin(){
if (\Auth::attempt($this->credentials, $this->remember)) {
return \Redirect::route("dashboard");
}
}
它没有重定向,而是回到loginFormHandler
,我知道这是因为它不会进入仪表板页面。
答案 0 :(得分:3)
这是不可能的。当你说return Redirect::route('dashboard')
时,它返回该函数调用调用函数,而不是执行函数。通过退出返回,无论如何它仍然会回到调用函数。
我已经重组了我的逻辑。
答案 1 :(得分:0)
但是,您可以重定向到网址:
Redirect::to('/dashboard');
这是一条路线:
Route::get('/dashboard', 'DashboardController@index');
古德勒克
答案 2 :(得分:0)
您必须返回方法调用返回的内容。第一个函数看起来像这样:
public static function loginFormHandler(){
//some stuff is done
return $this->doLogin();
}
答案 3 :(得分:0)
我喜欢将我的重定向固定在控制器上,以便在需要时可以更改SEO策略。要实现这一点非常简单:
return Redirect::action('SomeController@someFunction');
希望这有帮助
答案 4 :(得分:0)
您好我正在构建流明API,我需要相同的功能来返回其他功能的响应。
我希望这可以提供帮助。
//helpers.php
function responseWithJsonErrorsArray($text, $code)
return response('error' => $text, $code);
//FooTrait.php
protected function fooBar(){
responseWithJsonError('Foo Error', 404)->send();
exit;
}
答案 5 :(得分:0)
试试这个:
die(redirect('/login'));
答案 6 :(得分:0)
您可以简单地返回函数中返回的内容,例如:
public static function loginFormHandler(){
//some stuff is done
return $this->doLogin();
}
public static function doLogin(){
if (\Auth::attempt($this->credentials, $this->remember)) {
return \Redirect::route("dashboard");
}
}