метода, описанная выше для получения данных запроса по имени столбца и номер строки (variables.myquery [" ColumnName"] [RowNumber ]) являются правильными, но не удобными для получения полной строки данных запроса.
Я бегу Railo 4.1. И это крутое решение. Слишком плохо, что это невозможно сделать так, как хотелось бы, чтобы получить полную строку данных, но следующий метод позволяет нам получить то, что мы хотим, через несколько обручей.
Когда вы serializeJSON(variables.myquery)
, он меняет запрос на структурированный объект cfml с форматированием JSON с двумя элементами: «Столбцы» и «Данные». Оба эти массива данных. Массив «data» представляет собой двумерный массив для строк, а затем столбчатых данных.
Проблема в том, что теперь у нас есть неиспользуемая строка. Тогда, если мы повторно сериализуем его, это НЕ запрос, а скорее удобная регулярная структура в формате, описанном выше.
Предположим, что у нас уже есть переменная запроса с именем «variables.myquery». Тогда посмотрите на следующий код:
<cfset variables.myqueryobj = deserializeJSON(serializeJSON(variables.myquery)) />
Теперь вы получите два двумерный массив, получив это:
<cfset variables.allrowsarray = variables.myqueryobj.data />
И вы получите один массив строк запроса на получение этого:
<cfset variables.allrowsarray = variables.myqueryobj.data[1] />
ИЛИ последней строки следующим образом:
<cfset variables.allrowsarray = variables.myqueryobj.data[variables.myquery.recordCount] />
И вы можете получить отдельные значения столбцов по номеру заказа столбца итерации:
<cfset variables.allrowsarray = variables.myqueryobj.data[1][1] />
Теперь это может быть медленным и, возможно, неразумно с большими результатами запросов, но это круто решение, тем не менее.
CFLib.org на помощь еще раз: http://cflib.org/udf/queryGetRow. Это позволит вам выполнить '' –
ale