问题可能不清楚。这是解释。让我们说一下:
路线档案:
Route::get('testing', 'someController@functionOne');
Route::get('testingtwo', 'someController@functiontwo');
控制器文件:
public function functionOne() {
$this->data = generateReallyBigArray();
return redirect('testingtwo');
}
public function funtionTwo() {
// Here $this->data is lost. obviously 'coz this controller file got reinstantiated for @functionTwo
return view('someview', ['data' => $this->data]);
}
在$this->data
被击中的那一刻, testingtwo
迷失了。如何在不同的路径请求中传递此数据?或者,如果还有其他方法可以做到这一点。
我在考虑这样做:
public function functionOne() {
$this->data = 'somedata';
return $this->functionTwo();
}
public function funtionTwo() {
// Here $this->data is lost. obviously 'coz this controller file got reinstantiated for @functionTwo
// even this doesn't work. Exception: Method get does not exist
return Route::get('testingtwo', function() {
return view('someview', ['data' => $this->data]);
});
}
答案 0 :(得分:3)
使用with()通过会话发送数据 -
public function functionOne() {
$this->data = 'somedata';
return redirect('testingtwo')->with('data', $this->data);
}
或者您可以flash()在下次请求时使用数据。
$request->session()->flash('data', $this->data);
答案 1 :(得分:1)
最好的方法是
 traits


 trait Data {

 public function getData(){
 // .....
 }
}



 并在您的控制器中写
&#xA;&#xA;<代码>使用数据;&#xA;&#xA;&#xA;
您可以使用控制器上的特性&#xA;或&#xA;您可以访问您的控制器方法,如这样:
&#XA;&#XA;<代码>应用程序( '应用程序\ HTTP \控制器\ controllerName') - &GT; getDataFunction();&#XA; 代码> 预>&#xA;&#xA;这会有效,但在代码组织方面很糟糕(记得为ControllerName使用正确的命名空间)
&#xA;