Если 3 страницы:
Логика:
Со страницы производителя можно перейти на страницу со списком всех коллекций этого производителя или на страницу со списком всех цветов этого производителя.
Если мы перешли на страницу со списком всех цветов этого производителя.
Если мы перешли на страницу со списком всех коллекций этого производителя.
Со страницы со списком всех коллекций этого производителя можно перейти конкретно в определенную коллекцию.
Что есть сейчас:
// Список всех производителей.
/manufacturers
// Цвета определенного производителя.
/manufacturers/{id}/colors
// Коллекции определенного производителя.
/manufacturers/{id}/collections
// Цвета определенной коллекции.
/manufacturers/{id}/collections/{id}/colors
Почему-то кажется, что есть более правильное решение. Мне не нравится, что когда мы получаем цвета определенной коллекции — мне нужно принимать в методе два параметра, хотя используется только второй (цвета у меня связаны только с коллекциями). Вторая проблема в том, что /manufacturers/{вот сюда можно написать что угодно и это будет работать}/collections/{id}/colors
.
Контроллер который отвечает за цвет — один. В итоге нужно городить проверки, чтобы понять, это id
производителя или коллекции. Я точно делаю что-то не так.
/**
* Список всех производителей.
* контроллер: manufacturers
* метод: index
*/
/manufacturers
/**
* Цвета определенного производителя.
* контроллер: manufacturers
* метод: colors
*/
/manufacturers/colors/{id_manufacturer}
/**
* Коллекции определенного производителя.
* контроллер: manufacturers
* метод: collections
*/
/manufacturers/collections/{id_manufacturer}
/**
* Цвета определенной коллекции.
* контроллер: collections
* метод: colors
*/
/collections/colors/{id_collectionsr}
Route::prefix('manufactures')->group(function () {
Route::get('/', "ControllerName@FunctionName);
Route::get('{manufacture}/colors', 'ControllerName@FunctionName'); // + в аргументе функции указываешь что это класс App\Manufacture, это называется бинд модели
})
https://laravel.com/docs/5.8/routing#route-model-binding И не надо будет городить проверки
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Курил документацию по MySQL и не до конца понял, как передавать аргументы в динамический запрос
Всем привет! Подскажите, пожалуйста, как реализовать удаление строки tr через нажатие иконку fa-trashВот здесь DOM, внизу опишу свой скрипт
Не могу понять второй день в чем проблема,начал учится автоматизированию тестов,писал все в одном файле по началу ,взлетало норм,после деструкторизации...