如何在 laravel 中使用路由名称传递查询参数?
How to pass Query parameter using route name in laravel?
我知道这个
{{route('editApplication', ['id' => $application->id])}} == /application/edit/{id}
但我需要
?? == /application/edit?appId=id
任何人,请替换“??”你的回答对我有帮助。
route
方法接受任何变量集并将它们作为查询字符串,除非变量名称与定义的路由签名匹配。
因此,对于您的情况,您可以执行以下操作:
route('editApplication', ['appId' => <your id here>])
您可以为数组提供任意数量的变量。
这取决于你的路线:
如果你的路线是:
Route::get('/application/edit/{id}', 'SomeController')->name('editApplication');
当你使用
route('editApplication', ['id' => 5])
url会变成这样:
/application/edit/5
然而,所有其他参数(不在路由参数中)将用作查询字符串,例如:
route('editApplication', ['id' => 5, 'first' => 'foo', 'second' => 'bar'])
将生成 url 像这样:
/application/edit/5?first=foo&second=bar
如果你想达到这样的效果url
/application/edit?appId=id
你应该这样定义路由:
Route::get('/application/edit/', 'SomeController')->name('editApplication');
然后当你使用
route('editApplication', ['appId' => 5])
你会得到
/application/edit?appId=5
url.
您需要修改没有参数选项的 "editApplication" 路线。如果您仍然需要该参数,只需在控制器中添加以下行,然后使用即可捕获数据;
$appId = $request->input('appId');
我知道这个
{{route('editApplication', ['id' => $application->id])}} == /application/edit/{id}
但我需要
?? == /application/edit?appId=id
任何人,请替换“??”你的回答对我有帮助。
route
方法接受任何变量集并将它们作为查询字符串,除非变量名称与定义的路由签名匹配。
因此,对于您的情况,您可以执行以下操作:
route('editApplication', ['appId' => <your id here>])
您可以为数组提供任意数量的变量。
这取决于你的路线:
如果你的路线是:
Route::get('/application/edit/{id}', 'SomeController')->name('editApplication');
当你使用
route('editApplication', ['id' => 5])
url会变成这样:
/application/edit/5
然而,所有其他参数(不在路由参数中)将用作查询字符串,例如:
route('editApplication', ['id' => 5, 'first' => 'foo', 'second' => 'bar'])
将生成 url 像这样:
/application/edit/5?first=foo&second=bar
如果你想达到这样的效果url
/application/edit?appId=id
你应该这样定义路由:
Route::get('/application/edit/', 'SomeController')->name('editApplication');
然后当你使用
route('editApplication', ['appId' => 5])
你会得到
/application/edit?appId=5
url.
您需要修改没有参数选项的 "editApplication" 路线。如果您仍然需要该参数,只需在控制器中添加以下行,然后使用即可捕获数据;
$appId = $request->input('appId');