@RMate

Как правильно делать конструктор пользовательских таблиц?

Всем привет, мучает меня и моё любопытство теоретическая часть вопроса... Наткнулся я на это в CRM Bitrix24, так что опишу на его примере.
Есть у нас, допустим, табличка "клиенты". у клиентов есть поля "телефон", "фио", "почта". Сам сервис крутится в облаке. И для каждой компании есть возможность кастомизировать таблицу, т.е. пользователь 1 может добавить поле "адрес", пользователь 25 может добавить поле "источник", и т д. Более того, для поля можно выбрать тип данных.

Собственно говоря, меня заинтересовало, как правильно было бы реализовать такое в базе?
На ум приходит вариант с "запилить табличку с полями "ид_владельца", "имя_поля", "значение". Но в таком случае нет возможности задать тип данных, да и с точки зрения проведения выборок по этим данным - очень большая беда в производительности будет.

Ещё вариант - использовать JSONP для этих целей, это решит проблему с типизацией, однако оставит проблему с отсутствием индексов, и сложностью выборки. В общем, я думаю, есть красивый лаконичный вариант, о котором я не знаю :)

Прошу подсказать, какова была бы наиболее верная реализация?
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
riky
@riky
Symfony / Laravel
в общем как и написали. гуглите EAV
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы