ledo02
@ledo02

Как сохранить лайк пользователя?

Здравствуйте. У меня задача при нажатии на <нравится> у картинки, сохранить в БД, что пользователь лайкнул.

(Я и не рассчитываю на то, что это будет происходить без перезагрузки страницы.
Также у каждой кнопки <нравится> есть в атрибуте id объекта из БД, в котором нужно указать, что пользователь лайкнул).

Подскажите, пожалуйста, как написать скрипт для такого сценария.
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn
Руководитель frontend направления, предприниматель
Нус, смотри. У тебя привязка к пользователю есть? Или анонимка.

Если есть, то тебе стоит сделать связь многое ко многому (чисто, чтобы проверять, лайкнул ли юзер), и дополнительно создай ключ с числом лайком у картинок. Это позволит сэкономить вычислительные мощности и не считать количество всех лайков у данной картинки.

Ну и да, картинки у тебя будут не просто файлами в системе, а медиабиблитекой (если еще нет).

Ну и мне кажется, дешевле сделать через JS, т.е. без перезагрузки. А именно, по клику вызвать функцию из API бэка, в которую надо передать id пользователя, картинки и инкрементировать число лайков. В принципе можешь не вызывать число лайков в ответку, При обновлении страницы оно само придет.

А если нет пользователя, то просто инкрементируй число лайков и в кукисы\localStorage пиши, какой имаге добавлен лайк. И вообще оба метода бы совместить. Но второй слетает при очистке истории (кроме числа лайков), так что таким образом можно залайкать до смерти твой сервак. Не рекомендую в общем).
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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