如何在Laravel中通过路由名称传递变量?

49

我定义了一个路由

Route::get('/edit-industry/{id}', 'Industries@edit')->name('admin.editIndustry');

通过传递变量

{{ route('admin.editIndustry', ['id'=>1]) }}

OR
{{ route('admin.editIndustry', [1]) }}

这里出了问题。如何在这里传递变量?


{{ route('admin.editIndustry/1') }} - JYoThI
6个回答

62

哇,为什么错误答案(或者在这种情况下不是被询问的问题的答案)会被点赞?

EkinOf是正确的,你可以这样做

{{ route('admin.editIndustry', 1) }}

顺便说一下,你的第一个方法也有效,并且在有多个参数时是必要的。

{{ route('admin.editIndustry', ['id'=>1]) }}
{{ route('admin.editIndustry', ['id'=>1, 'something'=>42]) }}

如何将对象作为路由参数传递并在控制器中访问其值? - Faizan Kamal

14
如果您只有一个参数,您可以这样做:
{{ route('admin.editIndustry', 1) }}

12

只需像这样尝试

查看

{{URL::to('/edit-industry/1')}}

路线

Route::get('/edit-industry/{id}', 'Industries@edit')

控制器

public function edit($id){
    // use $id here
}

希望你能理解。


12

传递单个参数:

##Defining Route:##
Route::get('edit-industry/{id}', ['as' => 'admin.editIndustry', 'uses' => 'Industries@edit']);

##Calling Route:##
{{ route('admin.editIndustry',[$id]) }}

传递多个参数:

##Defining Route:##
Route::get('edit-industry/{id}/{step}', ['as' => 'admin.editIndustry', 'uses' => 'Industries@edit']);

##Calling Route:##
{{ route('admin.editIndustry',[$id, $step]) }}

0

你可以直接使用路由名称传递参数

{{ URL::to('/edit-industry/1') }}

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接