fafee
Постоялец
- Регистрация
- 3 Окт 2008
- Сообщения
- 92
- Реакции
- 0
- Автор темы
- #1
Добрый день. возникла проблема:
Есть пользователи с user_id и альбом с media_id каждого элемента, которые хранятся в соответствующей таблице. по умолчанию каждый пользователь может комментировать любую фотографию, но не может ответить на другой комментарий, то есть комментарии выстраиваются в столбик, а не в дерево.
Уведомления о новом комментарии отправляются только владельцу альбома.
Чтобы улучшить ситуацию, пришла в голову мысль сделать "подписку на комментарии для любого элемента". То есть пользователь ставит галку "подписаться на комменты" и уведомление приходит не только владельцу альбома, но и ему (такая возможность встроена в движки многих форумов).
А вот с тем как это реализовать вышла загвоздка. По идее, в таблице с media_id должно быть поле где будет массив, с user_id подписавшихся. Но тут возникает вопрос - может ли ячейка таблицы хранить массив и как потом по нему делать выборку.
Второй вариант - создать вспомогательную таблицу - с media_id по строкам и user_id по столбцам, где будут по умолчанию ноли, и единица, если пользователь подписался на комментарий. Тут опять вопрос - при большом количестве пользователей и фотографий, таблица будет немаленькая. И скорее всего нагрузка на сервер тоже. Может есть какой-то более изящный способ?..
php и mySQL только начинаю учить, буду благодарен любым советам. Cпасибо
Есть пользователи с user_id и альбом с media_id каждого элемента, которые хранятся в соответствующей таблице. по умолчанию каждый пользователь может комментировать любую фотографию, но не может ответить на другой комментарий, то есть комментарии выстраиваются в столбик, а не в дерево.
Уведомления о новом комментарии отправляются только владельцу альбома.
Чтобы улучшить ситуацию, пришла в голову мысль сделать "подписку на комментарии для любого элемента". То есть пользователь ставит галку "подписаться на комменты" и уведомление приходит не только владельцу альбома, но и ему (такая возможность встроена в движки многих форумов).
А вот с тем как это реализовать вышла загвоздка. По идее, в таблице с media_id должно быть поле где будет массив, с user_id подписавшихся. Но тут возникает вопрос - может ли ячейка таблицы хранить массив и как потом по нему делать выборку.
Второй вариант - создать вспомогательную таблицу - с media_id по строкам и user_id по столбцам, где будут по умолчанию ноли, и единица, если пользователь подписался на комментарий. Тут опять вопрос - при большом количестве пользователей и фотографий, таблица будет немаленькая. И скорее всего нагрузка на сервер тоже. Может есть какой-то более изящный способ?..
php и mySQL только начинаю учить, буду благодарен любым советам. Cпасибо