使用参数重定向到 Laravel 中的控制器并在第二个控制器中获取参数
Redirecting with parameters to a controller in Laravel and picking up the parameters in the second controller
我希望使用参数重定向到 Laravel 中的控制器,并在第二个控制器中获取参数。
我根据文档在第一个控制器中设置,link 下面。
https://laravel.com/docs/5.3/redirects#redirecting-controller-actions
重定向
return redirect()->action(
'quote', ['enquiry' => $request->final_enquiry_id]
);
路线
Route::post('/quote', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);
第二个控制器
public function quote(Request $request)
{
echo $enquiry;
但是目前这个 returns 未定义的变量。
这是执行此操作的最佳方法吗?如果是,我哪里出错了?
你的第二个控制器应该是:
public function quote($enquiry, Request $request)
{
echo $enquiry;
你的路线应该是:
Route::post('/quote/{enquiry}', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);
或者如果希望您的 enquiry
参数是可选的,那么您可以这样做:
public function quote($enquiry = null, Request $request)
{
echo $enquiry;
你的路线应该是:
Route::post('/quote/{enquiry?}', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);
我希望使用参数重定向到 Laravel 中的控制器,并在第二个控制器中获取参数。
我根据文档在第一个控制器中设置,link 下面。
https://laravel.com/docs/5.3/redirects#redirecting-controller-actions
重定向
return redirect()->action(
'quote', ['enquiry' => $request->final_enquiry_id]
);
路线
Route::post('/quote', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);
第二个控制器
public function quote(Request $request)
{
echo $enquiry;
但是目前这个 returns 未定义的变量。
这是执行此操作的最佳方法吗?如果是,我哪里出错了?
你的第二个控制器应该是:
public function quote($enquiry, Request $request)
{
echo $enquiry;
你的路线应该是:
Route::post('/quote/{enquiry}', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);
或者如果希望您的 enquiry
参数是可选的,那么您可以这样做:
public function quote($enquiry = null, Request $request)
{
echo $enquiry;
你的路线应该是:
Route::post('/quote/{enquiry?}', [
'as' => 'quote',
'uses' => 'Quote_Controller@quote'
]);