如何在laravel中传递路由名称中的变量?

sal*_*war 10 php laravel

我已经定义了路线

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

并通过变量

{{ route('admin.editIndustry', ['id'=>1]) }}
Run Code Online (Sandbox Code Playgroud)

要么

{{ route('admin.editIndustry', [1]) }}
Run Code Online (Sandbox Code Playgroud)

这不起作用.如何在这里传递变量?

Inu*_*aki 17

哇,为什么错误的答案(或者在这种情况下没有提出的问题的答案)被投票?

EkinOf是对的,你可以做到

{{ route('admin.editIndustry', 1) }}
Run Code Online (Sandbox Code Playgroud)

顺便说一句,如果您有超过1个参数,那么您的第一个也可以工作并且是必要的

{{ route('admin.editIndustry', ['id'=>1]) }}
{{ route('admin.editIndustry', ['id'=>1, 'something'=>42]) }}
Run Code Online (Sandbox Code Playgroud)


Sag*_*tam 12

简单地尝试这样

看法

{{URL::to('/edit-industry/1')}}
Run Code Online (Sandbox Code Playgroud)

路线

Route::get('/edit-industry/{id}', 'Industries@edit')
Run Code Online (Sandbox Code Playgroud)

控制器

public function edit($id){
    // use $id here
}
Run Code Online (Sandbox Code Playgroud)

希望你能理解。


Eki*_*nOf 7

如果您只有一个参数,则可以这样做:

{{ route('admin.editIndustry', 1) }}
Run Code Online (Sandbox Code Playgroud)


M.J*_*M.J 6

传递单个参数:

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

##Calling Route:##
{{ route('admin.editIndustry',[$id]) }}
Run Code Online (Sandbox Code Playgroud)

传递多个参数:

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

##Calling Route:##
{{ route('admin.editIndustry',[$id, $step]) }}
Run Code Online (Sandbox Code Playgroud)