我难住了。我需要访问nth row
查询循环中的下一个以显示帖子之间的版本差异。
我<cfquery>
用来按组输出修订,这是我的预期输出:
Rev4
diff(rev4.title, original.title)
diff(rev4.brief, rev2.brief)
Rev3
diff(rev3.body, rev2.body)
Rev2
diff(rev2.brief, original.brief)
diff(rev2.body, original.body)
Original
query.title
query.brief
query.body
我最初想使用 Java 方法来获取下一个查询行。这不起作用:
- Rev4需要显示它自己的简短行与上次对简短行所做的修订之间的差异;在这种情况下,发生在Rev2中;所以它需要跳一排。
- 为了显示其标题行的差异,Rev4需要跳转到原始帖子,因为标题行的第一次更改发生在Rev4本身。
需要考虑的一些事项:
- 修订模式是每个已编辑帖子列的一行;因此,如果您加载帖子并编辑其标题和正文,则会在修订模式中创建两条记录;一个用于标题,一个用于正文,在相同的revisionGUID下。
- 查询按revisionGUID分组。
- 它按修订日期排序,从最新到最旧;然后按修订类型(标题、简介、正文)。
我用 Java 标记了它,因为 ColdFusion 允许我们在查询对象上使用 Java 方法,但它没有记录,所以仅仅知道它的存在对我没有帮助。
任何人都可以告诉我一个[更好的]方法来做到这一点?
我想到的代码结构:
<cfoutput query="revisions" group="revisionGUID">
#revision.revisionGUID#
<cfoutput>
// conditional logic to get diff();
<cfoutput>
</cfoutput>