Я в тупике.Мне нужно получить доступ к следующему 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 ;поэтому ему нужно прыгнуть на одну строку.
- Чтобы показать разность для его title строки, Rev4 необходимо перейти к original сообщение после первого изменения в строке title произошло в самой Rev4 .
Некоторые моменты, которые следует учитывать:
- схема ревизий - одна строка для каждого отредактированного столбца сообщения;поэтому, если вы загрузите сообщение и отредактируете его title и body , в схеме ревизий будут созданы две записи;один для title и один для body , под тем же revisionGUID .
- Запрос сгруппирован по revisionGUID .
- Упорядочено по дате ревизии, от самой новой до самой старой;затем по типу ревизии ( title , краткое , body ).
Я отметил это с помощью Java, поскольку ColdFusion позволяет нам использовать методы Java для объектов запросов , но это не задокументировано, поэтому простое знание о его существовании не поможет мне.
Кто-нибудь может показать мне [лучший] способ сделать это?
Структура кода, о которой я подумал:
<cfoutput query="revisions" group="revisionGUID">
#revision.revisionGUID#
<cfoutput>
// conditional logic to get diff();
<cfoutput>
</cfoutput>