@ksim_miloff

Как сделать хранилище динамических значений ихбежав EAV?

Здравствуйте,
Недавно меня попросили о помощи с магазином собранном на ларавеле. Суть проблемы в том, что товарный ряд постоянно обновляется и появляются новые, не предусмотренные, значения для текущих характеристик. Например для характеристики "обивка", были значения "кожа, жаккард", а теперь еще появилось "шелк". Сейчас все это реализовано через конфиг-файл и мне как программисту все очень нравится, я бы вообще ничего менять не стал, предыдущий разраб все сделал хорошо. Просто возьми и добавь значение в конфиг и все. Но заказчику не нравится, что постоянно он зависит от того человека и он хочет самостоятельно менять эти значения через админку.

Вот я теперь сижу и думаю как это можно сделать, так чтобы без геммора? Я как-то давно участвовал в проекте, где решили использовать EAV-модель, но это было ошибкой. На мой взгляд это делать не быстро, трудно поддерживать и очень долго ждать запросы от БД. В следующих проектах мы решали подобные задачи выбором СУБД. Хорошо, комфортно и быстро это делалось на mongoDB или postgreSQL с их hstore.

Сейчас же это уже готовый магазин, использующий mysql, а на задачу отдан небольшой бюджет и о смене СУБД или серьезном рефакторинге речи быть не может. Единственное, что придумал, это хранить динамические значения в json-поле в отдельной таблице, в виде {latin_key=>'кирилическое значение'}, а самом товаре хранить latin_key.

Может кто-нибудь подсказать подходящее решение?
Спасибо.
  • Вопрос задан
  • 561 просмотр
Пригласить эксперта
Ответы на вопрос 2
Demetriy
@Demetriy
веб и мобильная разработка
Помню у меня как-то в одной компании было тестовое задание сделать считывание массивов и вывод всех их значений в виде формы, соответственно при сохранении формы добавляются/редактируются/удаляются ее значения, сложность может быть только с ключами, хранящимися в БД (в случае когда поля меняются местами т.п.). Попробуйте поискать на гитхабе подобные решения, по крайней мере оно укладывается в ваше "дешевле и быстрее". :)
Ответ написан
AmdY
@AmdY
PHP и прочие вебштучки
mysql поддерживает с недавних пор json, а xml очень давно https://dev.mysql.com/doc/refman/5.7/en/xml-functi...
Ответ написан
Ваш ответ на вопрос

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

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