Я пытаюсь внедрить на своем веб-сайте систему, аналогичную функции Facebook «Мне нравится». Где пользователи могут нажать кнопку, которая counter++
. Однако я столкнулся с проблемой эффективного хранения данных в моей БД.
Каждая история имеет свою собственную строку в таблице stories
в моей БД со столбцами like
и users_like
.
Я хочу, чтобы каждый человек мог понравиться истории только один раз. Поэтому мне нужно как-то хранить данные, которые показывают, что у пользователя есть like++'
d сообщение.
Все, что я мог сделать, это иметь столбец с именем users_like
, а затем добавить каждого пользователя, за которым следует запятая, в столбец с помощью CONCAT
, а затем с помощью функции php explode
данных.
Однако этот метод, насколько мне известно, направлен в сторону нормализации базы данных.
Каков наилучший способ сделать это, и я понимаю, что «лучший» субъективен.
Я не могу добавить флаг liked
к таблице user
, потому что будет огромное количество историй, которые человек мог бы «полюбить».
Спасибо