Question

I'm trying to convert ColdFusion query column to a list, what is the best way to do so?

I thought that there is a built in function that allows one to easily convert a query's column in to a list, if there is what is it?

Was it helpful?

Solution

There is a built-in function to do that: ValueList

<cfset myList = ValueList(query.columnname)>

As with all of the list functions, there's an optional delimiter attribute.

<cfset myList = ValueList(query.columnname,"|")>

If you need the values in the list to have double-quotes around them, use QuotedValueList.

<cfset myList = QuotedValueList(query.columnname)>

OTHER TIPS

You can also access a query's columns as arrays directly without any conversion if that works for what you're trying to do:

qry.col[1] // col field of first record
qry.col[2] // col field of second record
...

or

qry["col"][1] // col field of first record
qry["col"][2] // col field of second record

A CF query object is really an associative array of columns... weird but occasionally useful.

How about in a case like this:

<cfset SummaryQuery = Evaluate('getReportData' & summaryName & 'Summary') />
<cfset TypeList = ArrayToList(SummaryQuery[subsectionName & 'Type']) />

vs.

<cfset QueryColumn = SummaryQuery[subsectionName & 'Type'] />
<cfset TypeList = ValueList(QueryColumn) />
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top