Laravel路线碰撞

问题描述 投票:0回答:2

我正在尝试构建一个简单的CRUD应用程序,我正面临一些有关路由的问题。为了查看组,我有以下路线

Route::get('/groups/{id}','GroupsController@show');

并创造

Route::get('/groups/create','GroupsController@create')->name("groups.create");

问题是,上面的路线定义create模块不工作,但当我注释掉它的/routes/{id}路线时。

非常感谢任何帮助解决这个问题。

laravel laravel-5.5
2个回答
3
投票

这一切都取决于你定义它们的顺序,所以把创建路线放在外卡路线之前,你会没事的。


2
投票
  • 首先,您不应该通过GET请求创建任何内容。最好使用POST代替。
  • 第二 - 它的排序,因为{id} - 在你的情况下是任何字符串。 (create - 也是字符串......)所以你可以在create之前移动{id}路线。
  • 第三 - 如果它只是数字,如Route::get('/groups/create','GroupsController@create')->name("groups.create")->where(['id' => '[0-9]+');,请添加id的说明

任何此解决方案都可以解决您的问题。但最好改变这一切。

© www.soinside.com 2019 - 2024. All rights reserved.