我有一个功能,我试图将一些数据传递给视图。我不能让Route识别数据,它只是说我的变量是未定义的。这就是我要做的事情:
return redirect('confirm')->with([
'name'=>$name,
'service'=>$service,
'$email_address'=>$email_address
]);
然后在我的web.php文件中,我有:
Route::get ('confirm', function($name,$service,$email_address){
return view('confirm',compact('name','service','email_address'));
})->name('confirm');
Laravel只会抛出一个错误"缺少Illuminate \ Routing \ Router :: {}的参数1()"
我完全失去了,我已经尝试了很多不同的方法。如果我直接从我的控制器调用视图,它工作正常,但是URL不是我想要的,所以我似乎必须返回重定向并引用路由定义中的数据。谁能开导我?
答案 0 :(得分:0)
如果可以在路线中显示电子邮件,那么您可以更正这样的问题:
Route::get ('confirm/{name}/{service}/{email_address}', function($name,$service,$email_address){
return view('confirm',compact('name','service','email_address'));
})->name('confirm');
在控制器中:
return \Redirect::route('confirm', [
'name'=>$name,
'service'=>$service,
'email_address'=>$email_address
]);
Ps:这不推荐我只是回答你的问题,但有一个更好的方法来做,只传递一个id为exsample然后通过id找到用户然后拿他的电子邮件和其他东西。