Laravel用{parametr}命名路线

时间:2018-04-15 20:46:11

标签: laravel laravel-5 routes

Route::match(['patch','put'],'/edit/{id}', 'TestController@update')->name('update');

在表单操作中使用route()帮助器我希望看到

https://example.com/edit/1

我使用{{ route('update', $article->id) }}获得的是https://example.com/edit?1

有任何想法如何解决这个问题?

2 个答案:

答案 0 :(得分:2)

尝试将id作为数组传递:

route('update', ['id' => $article->id])

并确保表单的方法属性为post,并在表单中设置正确的_method值:

<form action="{{ route('upate', ['id' => $article->id]) }}" method="post">
    {{ method_field('patch') }}
</form>

答案 1 :(得分:0)

我尝试了你的例子,它似乎按预期工作。按照网址中的?,我的猜测是表单中的GET而不是POST?你能证实吗?