Коллизия маршрутов Laravel

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

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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
0
180
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

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

рад, что это помогло. Пожалуйста, рассмотрите возможность принятия ответа :) счастливого кодирования.

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

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

Из находчивого контроллера create всегда является get методом, поскольку он загружает только представление, а store — это post, который сохраняет ресурс в хранилище данных.

nakov 25.03.2019 15:28

Ага. Ты прав. Я имел в виду создание сущности, когда говорил о create

Игорь Агапов 26.03.2019 16:14

Другие вопросы по теме