Как зациклить список записей в блоге и все их комментарии на одной странице - PullRequest
1 голос
/ 27 ноября 2010

У меня есть простая структура базы данных, подобная этой:

entries table
+----+-----------+------------+-----------+------+
| id | date_time | post_title | post_slug | body |
+----+-----------+------------+-----------+------+

comments table
+----+-----------+----------+------+--------+
| id | date_time | entry_id | body | author |
+----+-----------+----------+------+--------+ 

Я нахожусь в ситуации, когда мне нужно пройтись по всем моим etnries и всем комментариям на одной странице. Как мне продолжить и сделать это наилучшим образом (производительность и ремонтопригодность)

Нужно ли мне сначала пройтись по всем моим записям, а затем в этом цикле получить все комментарии и просмотреть их? Это означает много запросов к базе данных. Есть ли лучший способ?

Желаемый вывод выглядит так:

Entry #1
    Comment #1
    Comment #2
Entry #2
    Comment #1
    Comment #2
    Comment #3
Entry #3
Entry #4
    Comment #1 

Надеюсь, это не дубликат других постов, но я долго искал и ничего не нашел ...

Спасибо!

1 Ответ

2 голосов
/ 27 ноября 2010

Будет ли это работать для вас?

SELECT entries.id, entries.date_time, entries.post_title,
       entries.post_slug, entries.body, comments.id AS commentid,
       comments.date_time AS comment_date_time, comments.body AS commentbody
FROM entries LEFT OUTER JOIN comments
ON entries.id = comments.entry_id
ORDER BY entries.id, comments.id

Теперь переберите результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...