VGVolkov
@VGVolkov
самоучка

Как правильно организовать лайки?

существует страница, на нее в зависимости от выборки в контроллере (через модель) формируется массив элементов (статьи), которые имеют кнопи лайк и диз. Все лайки решил хранить в одной таблице (user_id, article_id, лайк/диз), так проще со статистикой будет потом (вроде делают так). При реализации столкнулся с следующим: я (как мне кажется) слишком много раз обращась к БД:
1.достаю сам массив;
2.проверяю не был ли лайк уже поставлен (у каждой статьи!!!)
3.чтобы вывести общее количество лайков у статьи опять запрос.
4. ну и если лайкнул тоже запрос.

3-4 п. буду переделывать на AJAX, будет попроще, но 2 п. разве нормально, что в выборке статей я каждую должен проверить отдельным запросом.... может кто что посоветует? и вообще про лайки
  • Вопрос задан
  • 149 просмотров
Решения вопроса 1
@Arik
фреймворки не используете? они очень хорошо реализуют Отношения моделей.
А так:
1.достаю сам массив;
но ведь left join'ом или подзапросом можно поцепить статусы лайка/дизалайка тек юзера

2.проверяю не был ли лайк уже поставлен (у каждой статьи!!!)
что мешает собрать все ID статей на странице и одним запросом спросить все лайки/дизлайки тек юзера?

3.чтобы вывести общее количество лайков у статьи опять запрос.
опять же можно или отдельным запросом собрать все кол-во для тек статей или left join или подзапрос

4. ну и если лайкнул тоже запрос.
это уже действие, запись, тут не грех пожертвовать ресурсами
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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