猿问

如何在 laravel 5.8 中将变量传递给路由?

路线/web.php


$urls = \App\Myurls::all();


foreach($urls as $url){

  Route::get($url->en,  function() {

    session(['lang'=> 'en']);

    return view( 'en.'.$url->view );

  });

}


错误:未定义的变量:url(在返回 view()行中)


如何将$url变量传递给 Route::get 函数?


一只萌萌小番薯
浏览 177回答 2
2回答

慕后森

你必须使用function() use ($url)$urls = \App\Myurls::all();foreach($urls as $url){  Route::get($url->en,  function() use ($url) {    session(['lang'=> 'en']);    return view( 'en.'.$url->view );  });}

桃花长相依

您需要闭包中use的变量:Route::get($url->en,  function() use ($url) {  session(['lang'=> 'en']);  return view( 'en.'.$url->view );});
随时随地看视频慕课网APP
我要回答