Задать вопрос
grabbee
@grabbee

Как правильно сохранять тэги к чему-либо?

Например товары сохраняются в одной таблице. Затем к каждому можно добавить тэг. Для тэгов отдельная таблица. Для связи товар-тэги третья таблица. При постмодерации нужно удалить определенный тэг.
* удаляю тэг
* удаляю связи товар-тэг

Проблема при выборке списка товаров. Одним запросом не получается - на 50 товаров 50 запросов за тэгами. Делать денормализацию для списка тэгов каждого товара - тогда при удалении тэга(модерации) эту таблицу сложно обновить, и может быть расхождение данных. Как правильно это решается на Symfony+Doctrine ?
  • Вопрос задан
  • 209 просмотров
Подписаться 2 Простой 11 комментариев
Пригласить эксперта
Ответы на вопрос 2
usdglander
@usdglander
Yipee-ki-yay
Денормализировать теги - это маразм ИМХО.

* удаляю тэг
* удаляю связи товар-тэг

Используйте внешние ключи с CASCADE на DELETE.
Ответ написан
Комментировать
dastanaron_dev
@dastanaron_dev
Developer web backend and frontend
Я тоже думаю, что тут нужен QueryBuilder и объединение записей с помощью Left Join, тогда по тегам и фильтровать можно будет. Вообще сложные связки лучше всегда через QueryBuilder делать, дабы избежать большого числа запросов ИМХО.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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