Как организовать хранение в БД дополнительных платных опций пользователя?

Есть пользователь, у сервиса есть платные дополнительные опции, некоторые опции объединяются в пакеты.

Например, пользователь может подключить опцию "уведомлять push-сообщением о новых ЛС" за 5$, или опцию "не показывать когда я онлайн" за 5$. А если он подключает обе опции, то будет платить 7$.

Сейчас в БД есть таблица paid_feature (со списком доступных опций и их ценой), user (со списком пользователей) и user_paid_feature (связка user_id и paid_feature_id, а также поля enabled_at и disabled_at с DATETIME соответствующего события (вкл/выкл))

Вопрос - как правильно организовать вывод стоимости, когда включены обе опции? Разумеется, с возможностью дальнейшего расширения (добавления новых опций и комбинаций опций с разными ценами)

Используется MySQL и Yii.
  • Вопрос задан
  • 2581 просмотр
Пригласить эксперта
Ответы на вопрос 1
Rpsl
@Rpsl
Кратко о себе
Подобный штуки очень удобно хранить и фильтровать через битмаски.
Ответ написан
Ваш ответ на вопрос

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

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