如何将数据从我的控制器传递到Laravel 5.5中的视图?

时间:2017-10-30 13:23:43

标签: laravel laravel-5 laravel-5.5

我有一个功能,我试图将一些数据传递给视图。我不能让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不是我想要的,所以我似乎必须返回重定向并引用路由定义中的数据。谁能开导我?

1 个答案:

答案 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找到用户然后拿他的电子邮件和其他东西。