Laravel 5.5 Blade route() 参数

Laravel 5.5 Blade route() parameter

我可以添加一个参数,我可以在 blade 模板中使用,但不会出现在 url 中吗?

route("Home", ['id' => 1]);

@if(isset($id))
    //Do something
@endif

你可以像那样传入参数是的,但它们将包含在 url:

https://laravel.com/docs/5.5/routing#named-routes

If the named route defines parameters, you may pass the parameters as the second argument to the route function. The given parameters will automatically be inserted into the URL in their correct positions:

Route::get('user/{id}/profile', function ($id) {
    //
})->name('profile');

$url = route('profile', ['id' => 1]);

要传递参数而不将它们包含在 url 中,您需要在 controller/router 方法中添加参数,而不是在 route() 方法中。例如:

Route::view('/welcome', 'welcome', ['name' => 'Taylor']);

我解决了。使用 redirect()

而不是 route()
redirect()->with(['id' => 1]);

我需要在视图中创建路由并向该路由发送参数。

我是这样做的:

{{route('test', $id)}}

This article helped me.