首页 > 解决方案 > 如何在laravel中使用路由名称传递查询参数?

问题描述

我知道这个

{{route('editApplication', ['id' => $application->id])}} == /application/edit/{id}

但是我需要

?? == /application/edit?appId=id

任何人,请替换“??” 你的回答对我有帮助。

标签: laravellaravel-routinglaravel-6

解决方案


这取决于您的路线看起来如何:

如果您的路线是:

Route::get('/application/edit/{id}', 'SomeController')->name('editApplication');

当你使用

route('editApplication', ['id' => 5])

网址将是这样的:

/application/edit/5

但是,所有其他参数(不在路由参数中)将用作查询字符串,例如:

route('editApplication', ['id' => 5, 'first' => 'foo', 'second' => 'bar'])

将生成这样的网址:

/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

网址。


推荐阅读