Задать вопрос
VGVolkov
@VGVolkov
самоучка

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

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

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

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

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

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

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

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