2016-05-15 19 views
0

Um doppelten Code zu vermeiden, möchte ich die Funktion doMore() in meinem Controller erstellen.Rufen Sie eine andere Funktion innerhalb einer Funktion auf und übergeben Sie die Daten

DoSomething() und DoSomethingElse() würde Sachen tun und dann doMore() aufrufen, und jeder würde dann zu einer anderen Ansicht zurückkehren.

Ist das wie ich es tun soll?

class SomeController extends BaseController 
{ 
    function doSomething() 
    { 
     // Do stuff here     

     return $this->doMore(); 

     return view('view1.index')->with(['data1' => $data1]->with(['data2' => $data2]) 
    } 


    function doSomethingelse() 
    { 
     // Do stuff here   

     return $this->doMore(); 

     return view('view2.index')->with(['data1' => $data1]->with(['data2' => $data2]) 
    } 


    function doMore() 
    { 
     // Do more stuff here 

     return response(with(['data1' => $data1]->with(['data2' => $data2])) 
    } 
} 

Dank

Antwort

0

seine wie diese

$result = $this->domore($something); 
return view('view1.index')->with('result' , $result)->with('test' , $test); 

getan werden Sie etwas auf die Funktion Domore ane Ergebnisse passieren wird in $ result gespeichert werden dann kehren Sie zurück, was Sie wollen! Sie können nicht 2 kehrt

haben, aber Sie werden es injizieren, wenn die Funktion in einer anderen Klasse

+0

Dank ist, dass die Arbeit mehrere Werte für die Rückkehr? Ist das: 'return response (mit (['data1' => $ data1] -> mit (['data2' => $ data2]))' der Weg, um mehrere Werte zurückzugeben? – user3489502

+0

Antwort bearbeitet, hinzugefügt, Rückgabe mehrerer Werte –

Verwandte Themen