使用 Drupal 6,我的目标是订购一组类似于 Facebook 输出评论的线程评论:每个线程中的“锚”或第一条评论按 DESC 排序,任何“内部”线程回复按 ASC 排序,因此最新评论是在底部。
这是来自comment_render 的SQL 查询,按COMMENT_ORDER_NEWEST_FIRST 排序:
SELECT c.cid as cid, c.pid, c.nid,
c.subject, c.comment, c.format,
c.timestamp, c.name, c.mail,
c.homepage, u.uid, u.name AS
registered_name, u.signature,
u.picture, u.data, c.thread, c.status
FROM {comments} c INNER JOIN {users} u
ON c.uid = u.uid WHERE c.nid = 141737
AND c.status = 0 ORDER BY c.thread
DESC
这将返回所有评论,首先按最新线程排序:
03/
03.00/
02/
02.06/
02.05/
02.04/
02.03/
02.01/
02.00/
01/
在我的情况下,所需的顺序是这样的:
03/
03.00/
02/
02.00/
02.01/
02.02/
02.03/
02.04/
02.05/
02.06/
01/
再想想 Facebook 墙,你就明白了。
任何人都可以协助适当地增强 SQL 查询吗?在我的情况下(但可能并非在所有情况下),线程深度通过自定义模块强制限制为 1。
另一个注意事项 - 在我的情况下,它只需要在 MySQL 下工作。