Нус, смотри. У тебя привязка к пользователю есть? Или анонимка.
Если есть, то тебе стоит сделать связь многое ко многому (чисто, чтобы проверять, лайкнул ли юзер), и дополнительно создай ключ с числом лайком у картинок. Это позволит сэкономить вычислительные мощности и не считать количество всех лайков у данной картинки.
Ну и да, картинки у тебя будут не просто файлами в системе, а медиабиблитекой (если еще нет).
Ну и мне кажется, дешевле сделать через JS, т.е. без перезагрузки. А именно, по клику вызвать функцию из API бэка, в которую надо передать id пользователя, картинки и инкрементировать число лайков. В принципе можешь не вызывать число лайков в ответку, При обновлении страницы оно само придет.
А если нет пользователя, то просто инкрементируй число лайков и в кукисы\localStorage пиши, какой имаге добавлен лайк. И вообще оба метода бы совместить. Но второй слетает при очистке истории (кроме числа лайков), так что таким образом можно залайкать до смерти твой сервак. Не рекомендую в общем).