grabbee
@grabbee

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

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

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

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

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

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

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