Я делаю систему которая включает ленту объявлений. Пользователь подписывается на несколько категорий. Затем ему выдается лента новостей со всех категорий на которые он подписан: Я описал для этого такую архитектуру:
Но понимаю что получить "Ленту" я сначала должен получить список всех категорий на которые подписан пользователь, а только потом запрашивать данные из таблицы Посты.
Вообще насколько это правильное решение? Может как-то можно построить архитектуру, чтобы получать ленту одним запросом?
Одним запросом
SELECT p.* FROM Posts p
INNER JOIN Subscriptions s ON s.category_id = p.category_id
-- также join images img on img.post_id = p.id но тут группировать придётся
WHERE s.user_id = :user_id
Нормальная у вас архитектура, каждая сущность - своя таблица.
Ничего лишнего, все связи на месте.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости