@rFczZZ

Как в Yii2 организовать «избранное»?

В Yii2 имеется некая модель (Item) содержащая небольшой текст, похожа на "цитату" с bash.im, их около 30000 штук. Так же есть модель User. Необходимо описать связь многие-ко-многим "Избранное", чтобы пользователь, обладающий некими правами(!), мог отметить туда 20-30 элементов (типа "корзины" в магазинах), при выдаче ВСЕХ записей элементам из "Избранного" должны добавляться соотв. классы.

Как это все организовать на Yii2, чтобы не выполнять по запросу к бд для проверки каждой записи на принадлежность Избранному и при этом модели остались максимально абстрагированы друг от друга?
  • Вопрос задан
  • 2645 просмотров
Решения вопроса 1
AMar4enko
@AMar4enko
Делаете many to many, храните в профиле пользователя последнее время обновления избранного, сам список избранного храните в горячем кеше, например redis. При инициализации профиля выгребаете из кеша список избранного, или, если кеша нет или он просрочен относительно даты в профиле - актуализируете из базы. Кеш избранного будет в виде массивов id объектов, для определения "избранности" проверяете вхождение id объекта в массив.
На чем делать - Yii, Django, Rails, Kohana - нет решительно никакой разницы, если владеете инструментарием.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы