Есть ли доработки в моей структуре и правильная ли она?
Всем привет!
Стоит задача разработать функционал магазинов, согласно приобретенному тарифу!
Суть такова - есть проект, на нем регистрируются магазины. Есть список тарифов и у каждого тарифа, свой список функционала, который доступен магазину, который купил этот тариф
Есть таблица optoins - id, name, slug (список опций)
Есть таблица shops - id, name, slug, logo (список магазинов)
Есть таблица tariffs - id, name, price
Каждому тарифу, назначается определенный список опций
Думаю создать для этого pivot таблицу option_tariff - option_id, tariff_id
как теперь связать магазин с тарифом, чтобы было быстро и легко получить список опций, которые ему доступны?
думал создать pivot таблицу со связью 1:1 shop_tariff - shop_id, tariff_id, date_from(дата активации тарифа), date_to(дата до которой тариф активен), is_active (признак активности тарифа)
но не уверен в правильности организации связей и как хранить историю всех приобретенных тарифов потом
jazzus, да, всего например 4 тарифа и их используют магазины, магазин может купить один из предложенных тарифов
получается тариф и магазин будут связаны через таблицу shop_tariff 1:1? и в этой таблице будет храниться история всех купленных тарифов? либо при покупке нового тарифа, мне редактируем запись и оставляем одну на магазин?
Опять непонятно, при чем здесь активность-то?
Или речь про конкретный магазин? тогда так и надо писать, как вывести тариф у конкретного магазина.
В этом случае да, разумеется - брать активный.
А если просто вывести тариф и опции, то просто вывести тариф и опции