Search code examples
phplaravelurl-routinglaravel-routinglaravel-5.8

How to pass variable into route in laravel 5.8?


routes/web.php

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

foreach($urls as $url){
  Route::get($url->en,  function() {
    session(['lang'=> 'en']);
    return view( 'en.'.$url->view );
  });
}

Error : Undefined variable: url ( in return view() line)

How to pass $url variable into Route::get function?


Solution

  • You must be use 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 );
      });
    }