Laravel变量到URL而不更改URL路由路径

时间:2018-10-01 22:00:21

标签: url laravel-5 url-routing

我是laravel的新手,对在不影响路径的情况下将db中的变量添加到URL的末尾感兴趣。例如,如果用户登录并在数据库中分配了变量= hello,则该网址将显示为http://app.com/home/hello。但是我不希望这个改变我的路由位置,所以它仍然在/ home而不是/ home / hello。 我尝试如下更改web.php中的路由:

Route::get('/home',function(){
    return redirect('home/{{Auth::user()->variable}}');
});
Route::get('/home/{{Auth::user()->variable}}', 'HomeController@index');

但是这看起来很混乱,并且没有从数据库中提取我的变量。我敢肯定,还有一种更好的方法  能够找到。我不是在寻找完整的解决方案,而只是寻找教程的链接或指向正确的方向。

1 个答案:

答案 0 :(得分:1)

您应该能够执行以下操作:

Route::get('/home',function(){
    return redirect('home/'.Auth::user()->variable);
});
Route::get('/home/{variable}', 'HomeController@index');

然后,您的HomeController索引方法中将提供'variable'的值

public function index($variable) { ... }

https://laravel.com/docs/5.7/routing#route-parameters