Есть сайт, представляющий собой форум, в котором люди могут задавать вопросы. На странице с вопросом каждому ответу можно ставить лайк. Для работы этой системы существуют две таблицы в базе данных, answers и likes. Их архитектура такова:
Система работает так, что на каждой странице с вопросом отправляется ajax запрос в файл printAnswers.php. В этом файле при помощи функции printAnswers из определенного класса происходит печать ответов. Данная функция извлекает данные из таблицы answers, нужные для вывода вопроса(получает ссылку на изображение пользователя, давшего ответ, его имя и тд и тп) и далее при помощи функции generateAnswerShell(userId, img_link и тд) формирует оболочку ответа(эта функция просто генерирует html код с пользовательскими данными). Главной проблемой здесь является получение количества лайков для определенного ответа. Я пытался решить проблему таким образом, чтобы в printAnswers отправлять второй sql запрос в таблицу likes и просто выводить количество ячеек, где идентификатор ответа совпадал с идентификатором ответа, отправленного в запросе при помощи COUNT(*), но это значительно усложняет работу, тк в 1 методе нужно отправлять по два запроса. Можно ли организовать ячейку Likes в таблице answers, чтобы подсчет происходил автоматически уже в базе данных? Что-то по типу этого, только я не знаю, какой правильный синтаксис:
ALTER TABLE answers ADD LIKES = COUNT(*) IN likes WHERE answers.userID=likes.userID;