2016-02-13 126 views
2

我知道這是一個微不足道的問題,但有人可以向我解釋爲什麼返回視圖('some.view');沒有得到執行?相反,返回重定向。返回值的調用方法

我正在使用Laravel 5.1。

在控制器我有兩個方法:

public function change(Request $request){ 

    if($request->edit === 'Edit') 
    { 
     $this->edit($request); 
    } 
    return redirect('to-route'); 
} 

public function edit(Request $request){ 
    return view('some.view'); 
} 

據我所知,編輯()方法應該執行,然後繼續在改變自己的工作()方法,但爲什麼它忽略返回?

+0

does'$ request-> edit ==='Edit'' if if it does not execute that function – Sanandrea

+0

dadin84解釋瞭解決方案。而且,那個聲明是真實的,它只是忽略了被調用方法的返回。還是謝謝。 –

回答

2

在您的change()函數中,您調用方法$this->edit($request);但是,腳本沒有使用返回值。如果你想使用返回值;

$editReturn = $this->edit($request); 

然後,您可以使用此變量來顯示返回的內容。如果你想從edit()返回結果也作爲change()的返回值,你可以做;

return $this->edit($request); 

在你的change()函數裏面。但是這意味着您的現有退貨不會被執行。

+0

謝謝你,我認爲第二種方法的回報就足夠了。現在,我只是將回復添加到通話中。 –

+0

很高興幫助你,快樂的編碼;) – dading84