2013-10-22 60 views
0

我在整理我的代碼,並且在我的formhandler函數外刪除登錄函數是合理的。但是,當我在被調用的函數中調用返回路由行時,它會簡單地將此路由返回給父控制器,而不對其執行任何操作。我希望我的重定向在被調用的函數中執行。如何在一個被調用函數laravel中重定向到一個路由

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

該問題似乎不是重定向到路由,而是身份驗證。你可以粘貼代碼驗證用戶是否登錄並重定向到loginFormHandler? – FR6

回答

2

這是不可能的。當你說return Redirect::route('dashboard')時,它將該函數調用給調用函數,而不是執行該函數。無論如何,通過離開返回,它仍然回到調用函數。

我已經重組了我的邏輯。

0

但是,你可以重定向到URL:

Redirect::to('/dashboard'); 

,這是一個路線:

Route::get('/dashboard', '[email protected]'); 

古德勒克

+0

它仍然錯誤,因爲它正在回到被調用的函數,而不是簡單地轉到儀表板頁面。我知道這是因爲它已進入佈局視圖,並期待着一個變量。沒有變量,因爲'loginformhandler'沒有通過任何變量。 – Nicola

0

您必須返回方法調用返回的內容。第一個功能應該是這樣的:

public static function loginFormHandler(){ 

    //some stuff is done 

    return $this->doLogin(); 
} 
0

我喜歡讓我的重定向錨定到控制器,以便有可能在需要時更改SEO策略。要做到這一點是非常簡單的:

return Redirect::action('[email protected]'); 

希望這有助於

0

你好,我是建設流明API現在,我需要相同的功能恢復與其他功能的響應。

我希望這可以幫助。

//helpers.php 
function responseWithJsonErrorsArray($text, $code) 
    return response('error' => $text, $code); 

//FooTrait.php 
protected function fooBar(){ 
    responseWithJsonError('Foo Error', 404)->send(); 
    exit; 
} 
相關問題