I’m stuck… can’t remember how to make this work. The code:
<cfquery name = "getsomething>
select a, b, c
from d
where id = '1'
</cfquery>
<cfloop collection="#arguments#" item="argument">
<cfif #StructFind(arguments, argument)# neq #getsomething.argument[0]#><!--- here's the problem --->
do something
</cfif>
</cfloop>
The query returns one record; I need to get the values of each column for that record. The column name is a variable (argument). What syntax do I need to replace
#getsomething.argument[0]#
? Thanks.
You need to make a couple of adjustments:
I see you are looping using the “collection” argument. This implies you have a data structure like so:
You can see that the values do not matter in this case–what matters is that by using the “collection” argument, you are working with a struct. Somewhat incorrect, but let’s move forward with the assumption.
You do not want the value of your arguments dynamically evaluated, you want the keys–they map to your columns, so loop like this:
then, the following code works:
Note that in this answer, I’ve changed your query index from 0 to 1: cfquery arrays are 1-based, so the first row is not [0], but [1].