я бы добавил еще тег "криворукость", но может не пропустит)
Всем привет.
Разбираюсь в Laravel 8 и возникла небольшая проблема.
В Web.php есть несколько маршрутов, которые открывают разные представления по разным адресам. Есть запросы которые имеют статичный адрес, к примеру:
Route::get('/basket/add', 'BasketController@basket')->name('basket');
А есть запросы с переменными адресами, к примеру
Route::get('/{category}/{product?}', 'MainController@product')->name('product');
Так вот - у меня почему-то динамичные адреса перекрывают статичные. То есть при вводе в адресную строку:
localhost:8000/basket/add
, у меня открывает представление, которое должно открываться при запросе
localhost:8000/{category}/{product?}
Я связывают это с тем, что динамичные адреса берут все то, что вводит пользователь. Но по идее оно должно брать только те адреса, которые есть в БД, а там их 4 (mobile, pc, portable, othen), и не должно перекрывать статичные адреса, которые указаны в web.php.
Также есть проблема с другими адресами. Адрес:
Route::get('/{category}', 'MainController@category')->name('category');
Перекрывает адрес
Route::get('/place', 'BasketController@basketPlace')->name('basket-place');
Но при этом адрес
Route::get('/{category}', 'MainController@category')->name('category');
Почему-то не перекрывает адрес:
Route::get('/categories', 'MainController@categories')->name('categories');
Как исправить можно исправить эту ошибку и с чем оно может быть связано?
Смотрю видео курс по Laravel, а там такой проблемы не возникло. Может из-за того что Laravel там 6-й версии, а у меня 8-й, может еще почему-то. Но я сверял свой код с тем что в видеокурсе - все одинаково.