Реализация функции повторной публикации или ретвита лайка [закрыто]MySql

Форум по Mysql
Ответить
Anonymous
 Реализация функции повторной публикации или ретвита лайка [закрыто]

Сообщение Anonymous »

В моей фиктивной социальной сети я разрабатываю для изучения серверных стратегий... Сейчас я работаю над реализацией функции, похожей на ретвит.... у пользователя будет возможность сделать репост существующего сообщения, а также написать свой собственный текст при репосте. Это значит, что это будет то же самое, что и новый пост, но со ссылкой на другой пост. В моей таблице сообщений базы данных я добавил столбец:

Код: Выделить всё

repost_id -> DEFAULT NULL (NON NULL means this is a repost).
Когда я извлекаю ленту... я делаю следующее:
  • Извлекаю сообщения
  • Просматриваю сообщения в моем PHP-скрипте и смотрю, не равен ли repost_id нулю... затем извлекаю ссылку на сообщение по столбцу repost_id
    />
Я считаю, что это не лучший способ сделать это... потому что, если я извлеку 50 сообщений в ленте и будет 10 репостов... то всего я выполняю 11 запросов. (1 для извлечения фида и 10 для извлечения репостов).
Пожалуйста, предложите способ извлечения данных repost_id в том же SQL-запросе, который я использую для извлечения фида. Я не могу создать запрос.
Запрос на получение фида на данный момент очень прост

Код: Выделить всё

SELECT p.id,p.short_text,p.post_dt FROM `post` p ORDER BY p.post_dt DESC LIMIT 0,50
Как я могу проверить в том же запросе, что если p.repost_id НЕ NULL, то получить данные для сообщения, на которое ссылается p.repost_id?
Я сейчас не собираюсь усложнять такие вопросы, как «репост репоста». Просто прямой репост поста.

Подробнее здесь: https://stackoverflow.com/questions/797 ... ke-feature
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»