我试图通过使用JOIN的一个查询来获取文章的评论和回复但是不确定如何编写它,到目前为止我已经收到了评论但是每当我尝试获取回复时保持在阵列的相同深度内,所以我不确定这是否会起作用。
评论结构:
id | article_ID | user | text
回复结构:
id | comment_ID | user | text
这是我到目前为止的查询:
SELECT c.text, u.username, cr.text AS reply
FROM comments c
LEFT JOIN user u
ON c.user = u.id
LEFT JOIN comments_replies cr
ON cr.comment_ID = c.id
WHERE c.article_ID = :postID
这是结果转储的输出:
[0]=>
object(stdClass) {
["text"]=>
string(7) "Comment"
["username"]=>
string(5) "Woody"
["reply"]=>
string(5) "reply"
}
[1]=>
object(stdClass) {
["text"]=>
string(7) "Comment"
["username"]=>
string(5) "Woody"
["reply"]=>
NULL
}
我想要实现的目标:
[0]=>
object(stdClass) {
["text"]=>
string(7) "Comment"
["username"]=>
string(5) "Woody"
["comments"]=>
[0]=>
replier's username
replier's text
[1]=>
replier's username
replier's text
}
如果使用一个查询而不是使用多个查询或其他PHP代码,这是可能的,例如环路。