我是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');
但是这看起来很混乱,并且没有从数据库中提取我的变量。我敢肯定,还有一种更好的方法 能够找到。我不是在寻找完整的解决方案,而只是寻找教程的链接或指向正确的方向。
答案 0 :(得分:1)
您应该能够执行以下操作:
Route::get('/home',function(){
return redirect('home/'.Auth::user()->variable);
});
Route::get('/home/{variable}', 'HomeController@index');
然后,您的HomeController索引方法中将提供'variable'的值
public function index($variable) { ... }