Подскажите, как лучше сделать. Есть сервисы, а у сервисов есть функции. Например:
Поддерживаемые страны:
— Россия
— Беларусь
— и т.д
Сейчас реализовано только указывание значения функции (Россия, Беларусь). Есть необходимость группировать значения функций по группам (Поддерживаемые страны). Как это лучше сделать, особенно если учитывать, что в дальнейшем планирую прикрутить и фильтр на основе этих параметров?
Таблица:
services
--- id
--- slug
--- name
--- и т.д
Таблица:
features
--- id
--- name
--- и т.д
Таблица:
service_feature
--- id
--- service_id
--- feature_id
Сейчас реализация максимально упрощённая. Ничего лишнего. Требуется добавить как минимум группы особенностей. Собственно, как это лучше сделать, чтобы потом не наткнуться на подводные камни?
1. Писать в эту же таблицу?
2. Записывать в пивот таблицу?
3. Сделать отдельно таблицу?
Хотелось бы найти золотую середину. Чтобы это было удобно, сильно не дублировала данные, но и не плодило множество запросов к базе. Желательно, чтобы это возможно было красиво вывести во View. Любые предложения?
Хотя бы так, но я думаю можно и лучше:
foreach ($service->features as $feature) {
$feature->group_name
foreach ($feature->values as $value) {
$value->name
}
}