У меня есть проект магазин-магазин. Этот проект начинается с базовых c функций и растет на каждом жизненном цикле программного обеспечения. В последнее время растет тенденция к развертыванию некоторых настроек для пользователей и аналитики. Я хотел добавить в проект любимую возможность. В проекте есть гостевой режим, в котором неаутентифицированный пользователь может видеть продукты.
Каждый пользователь может добавить продукт в избранное (после Auth). Все идет нормально. Я решаю добавить к товарам атрибут избранного. Проблема возникает, когда я пытаюсь вернуть продукты из контроллера в качестве ответа. Если я использую промежуточное ПО Auth, неаутентифицированные пользователи перенаправляются на вход. Если я использую собственный код, каждый API с продуктом должен быть соответствующим образом изменен. Если я попытаюсь добавить файл в модель продукта, у меня не будет доступа ни к классу Auth, ни к запрашиваемой модели продукта. Как быть в такой ситуации? Благодарю за вашу помощь.
ОБНОВЛЕНИЕ: В моем проекте много моделей. Order, OrderProduct, Product, User, Payment, Category, Delivery, .... Я хочу иметь новую таблицу с именем Bookmark, в которой есть два столбца: user_id и product_id.
Товар == Один много == Закладка
Пользователь == Один много == Закладка