Как конвертировать столбец запроса в список в ColdFusion
Я пытаюсь преобразовать столбец запроса ColdFusion в список, что лучший способ сделать это?
Я думал, что есть встроенная функция, которая позволяет легко преобразовать столбец запроса в список, если есть что это такое?
Ответы
Ответ 1
Для этого есть встроенная функция: ValueList
<cfset myList = ValueList(query.columnname)>
Как и во всех функциях списка, существует необязательный атрибут разделителя.
<cfset myList = ValueList(query.columnname,"|")>
Если вам нужны значения в списке, для которых есть двойные кавычки, используйте QuotedValueList.
<cfset myList = QuotedValueList(query.columnname)>
Ответ 2
Вы также можете напрямую обращаться к столбцам запроса как массивы без какого-либо преобразования, если это работает для того, что вы пытаетесь сделать:
qry.col[1] // col field of first record
qry.col[2] // col field of second record
...
или
qry["col"][1] // col field of first record
qry["col"][2] // col field of second record
Объект запроса CF - это действительно ассоциативный массив столбцов... странный, но иногда полезный.
Ответ 3
Как в таком случае:
<cfset SummaryQuery = Evaluate('getReportData' & summaryName & 'Summary') />
<cfset TypeList = ArrayToList(SummaryQuery[subsectionName & 'Type']) />
против.
<cfset QueryColumn = SummaryQuery[subsectionName & 'Type'] />
<cfset TypeList = ValueList(QueryColumn) />