Столкновение маршрутов Ларавела - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь создать простое приложение CRUD, и у меня возникают некоторые проблемы с маршрутами. Для просмотра группы у меня есть следующий маршрут

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

и для создания

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

проблема в том, что с указанными выше маршрутами create модуль не работает, но когда я закомментирую маршрут /routes/{id}, он работает.

Любая помощь в решении этой проблемы очень ценится.

Ответы [ 2 ]

3 голосов
/ 25 марта 2019

Все зависит от порядка, в котором вы их определяете, поэтому поместите маршрут создания перед маршрутом с подстановочными знаками, и все будет в порядке.

2 голосов
/ 25 марта 2019
  • Прежде всего, вы не должны создавать ничего с помощью GET запроса.Вместо этого лучше использовать POST.
  • Второе - это порядок, потому что {id} - это любая строка в вашем случае.(create - это также строка ...) Таким образом, вы можете переместить create маршрут до {id}.
  • Третье - добавить пояснение для id, если оно только числовое, например Route::get('/groups/create','GroupsController@create')->name("groups.create")->where(['id' => '[0-9]+');

Любое из этих решений может решить вашу проблему.Но лучше все это изменить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...