Экспериментирую с созданием сайта-каталога с админ панелью на laravel 5.8. Стараюсь следовать принципу CRUD. Но столкнулся с некоторыми затруднениями в логике.
На сайте есть роуты для отображения, например, главной страницы и страницы с товарами. Вроде бы всё просто
MainController
index
- вывода содержимого главной страницы сайтаCatalogController
index
- вывода содержимого каталогаshow
- отображение отдельного товара.Но потом понадобится сделать панель администратора, где нужно будет, например, управлять списком товаров. Значит нужен другой контроллер - admin/ProductController
c полным CRUD.
Также на главной странице сайта я решаю выводить блок с товарами по акции. И после создаётся ещё один раздел сайта, где нужно получать доступ к товарам. И это ещё один контроллер. Например, NotInSaleControll
- список товаров не в продаже.
В итоге я работаю с одной и той же сущностью в трёх контроллерах, дублируя код.
Во всех контроллерах я получаю список товаров, а дальше в зависимости от нужд уточняю выборку. При этом везде я получаю не просто продукт, а и его связи с другими таблицами. Например, ->with('categories')
.
Т.е. не хватает какой-то абстракции. Как можно это решить? И как организовать контроллеры?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Получена коллекция с помощью модели eloquent:
Имею сайт на WordPress, есть API турагенствана главной странице циклом for показываю информацию до 6 горящих туров в виде блоков
Всем доброго вечераПодскажите пожалуйста, можно ли каким то способом узнать hardware-id чужого компьютера? Или это миф?