我希望在中间件中操作url变量然后将新的vaule传递给一些额外的中间件进行检查,然后将新值传递给控制器
任意示例:domain.com/1
->
中间件,用于添加3对1 ->
中间件,以针对数据库4
检查新号码->
,将新号码传递给控制器< / p>
我的路线:
Route::get('{v}', [
'middleware' => ['rewrite','dbCheck'],
'uses' => 'video@search'
]);
我使用$v = $request->v;
获取中间件中的变量 - 如何将重写的变量返回到下一个中间件并最终返回控制器?
我之后尝试使用$request['v'] = $v;
重置变量,没有欢乐
答案 0 :(得分:2)
每次尝试从Request对象读取值时,它都会合并所有可用的数据源(POST / GET数组,查询字符串,路由参数),并从合并结果中获取值。因此,如果要修改尝试从请求中获取它时将返回的值,则需要修改请求对象,而不是源。
在您的情况下,您想修改route参数的值 - 以下代码适用于您:
float