我正在尝试将变量从控制器传递给其他控制器。我就是这样-
SomeController
public function index(){
$var = 'variable';
return redirect()->route('toAnotherController')->with('var', $var);
}
Route.php
Route::get('/anotherController', 'AnotherController@index')->name('toAnotherController');
另一个控制器
public function index(){
echo $var;
}
但是,这给出了错误“未定义的变量$ var”。 这是怎么了? 还有其他方法吗?
答案 0 :(得分:1)
这将帮助您:
(node:13791) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): [object Object]
(node:13791) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
然后使用重定向:
Route::get('/anotherController/{var}', 'AnotherController@index')->name('toAnotherController');
public function index($var){
echo $var;
}
祝你好运~~~
答案 1 :(得分:0)
我希望这还不算太晚。但是我相信有一天这可能对某人有帮助!!! 在您的 SomeController 中 将此实例添加为 public $ attributes; 以此添加要传递给另一个控制器的变量
$request->attributes->add(['var' => $request->var]);
您可以在需要的(另一个控制器)控制器上使用下面的代码同样地解析它
$var= app('request')->get('var');
N:B-Laravel 5.7。我不确定较早的版本