Je suis nouveau à ColdFusion et j'ai une question intéressante concernant l'accès aux variables à l'intérieur d'un cfloop en utilisant une requête générée à partir d'une fonction de requête. Je sais que je peux créer une variable, affecter le résultat de la fonction de requête à la variable, puis faire une boucle sur la variable contenant le résultat de la requête et accéder aux données en utilisant le nom de variable donné à la requête dans la boucle. suit:ColdFusion - Variables de référence dans cfloop utilisant la requête générée par UDF
<cfscript>
q = createObject("component", "cfc.myDBquery");
result = q.myQuery();
</cfscript>
<cfloop query="result">
<cfoutput># result.MY_DATA #</cfoutput>
</cfloop>
Cependant, considérez cet exemple:
<cfscript>
q = createObject("component", "cfc.myDBquery");
</cfscript>
<cfloop query="#q.myQuery()#">
<cfoutput># ???.MY_DATA #</cfoutput>
</cfloop>
Autre que juste pour sortir les données en utilisant le nom de la colonne de la requête (par exemple my_data), comment pourrais-je aller sur le référencement de cette requête spécifique lorsque sortir des données dans la boucle?
FWIW, Adobe montre ce type de scénario dans leur documentation, ne cependant montrer la sortie de données à l'intérieur de la boucle en utilisant cette méthode:
Je sais que je suis être un peu névrotique pour essayer pour éliminer une ligne de mon code, je suis juste curieux de savoir si cela est possible tout en adhérant aux meilleures pratiques.
Pour l'étendue de la requête "meilleure pratique" voir ce fil de discussion: [Dois-je effectuer la recherche de la portée dans ColdFusion] (https: // stackoverflow.com/questions/10709193/do-i-have-to-scope-query-output-in-coldfusion). – Twillen