Как отображать обновления статуса от подписчиков? (MVC) - PullRequest
1 голос
/ 02 октября 2011

Что было бы хорошим подходом для отображения на приборной панели обновлений статуса от пользователей, которые отслеживаются (например, в твиттере) в среде MVC, такой как codeigniter.

У меня есть таблица, только для статусаобновите, где я записываю идентификатор, идентификатор_пользователя и сообщение.

Должен ли я создать таблицу БД, в которой я записываю, кто за кем следует, записывая идентификатор пользователя, когда пользователь выбирает подписку на кого-то?

Если да, то как мне сделать запрос к базе данных, чтобы запросить обновление статуса только для следующих пользователей?

1 Ответ

0 голосов
/ 04 октября 2011

Это типичное отношение «многие ко многим», поэтому вам понадобится таблица для хранения этого отношения. Таблица будет просто содержать два идентификатора пользователя: один для подписчика и один для отслеживаемого. Например:

Followed_Id (BIGINT) | Follower_Id (BIGINT)

В этом случае оба этих столбца будут иметь внешний ключ, ссылающийся на столбец ID вашей пользовательской таблицы.

Есть несколько инструментов ORM для CI, как заметки swatkins в его комментарии.

Для запроса обновлений статуса у вас есть два основных варианта:

  • Опрос, когда ваш клиент будет периодически опрашивать серверную часть для новых обновлений
  • Нажатие, когда ваш бэкэнд будет уведомлять вашего клиента о новых обновлениях

Второй вариант считается лучшим подходом для подобных проблем, потому что:

  • Может быть реализовано асинхронно
  • Позволяет избежать ненужных обращений к бэкэнду в случае отсутствия новых данных
...