coldfusion - 如何在 cfloop 中通过 ColdFusion 中的查询获取动态属性名称

标签 coldfusion cfloop

我在 cfloop 里面通过查询。我想获得一个属性,但直到运行时我才知道该属性是什么。使用 #qryResult[MyAttr]#失败并出现错误“无法将复杂对象类型转换为简单值”。这样做的语法是什么?

这是一个简化的示例:

<cfquery datasource="TestSource" name="qryResult">
    SELECT * FROM MyTable
</cfquery>

<cfloop query="qryResult">
    <cfset MyAttr="autoid" />
    <cfoutput>
        Test 1: #qryResult.autoid# <br/>  <!--- succeeds --->
        Test 2: #qryResult[MyAttr]# <br/> <!--- fails --->
    </cfoutput>
</cfloop>

最佳答案

<cfloop query="qryResult">
  <cfset MyAttr="autoid" />
  <cfoutput>
   Test 1: #qryResult.autoid# <br/>  <!--- succeeds --->
   Test 2: #qryResult[MyAttr][qryResult.CurrentRow]# <br/> <!--- succeeds --->
  </cfoutput>
</cfloop>
CurrentRow隐含在文字语法中( query.col )。它与 <cfloop query="..."> 的索引相关联/<cfoutput query="..."> (或在循环外使用时为 1)。

在“数组索引”语法( query[col][row] )中明确提及它是必要的,因为 query[col]单独返回列对象(这是错误所指的“复杂类型”)。

副作用:您可以使用它来随机访问循环外的查询结果(即作为多维数组)。一旦您知道您感兴趣的行数,您就可以直接访问这些行。

关于coldfusion - 如何在 cfloop 中通过 ColdFusion 中的查询获取动态属性名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2581394/

相关文章:

java - 如何从 java 缓冲图像创建 CF 兼容图像

security - ColdFusion 安全

coldfusion - 在冷融合中循环时避免堆错误

coldfusion - 使用 ColdFusion (2016) 遍历电子表格数据并对输出进行分组

coldfusion - 如何计算ColdFusion缓存的模板内存消耗

php - Webmail 联系人列表导入程序

arrays - 使用 Coldfusion 从多个结构和数组中获取值

sql-server - sql语句中的Cfloop?

api - 将 Bing Web 搜索 API 与 ColdFusion 结合使用

arrays - 循环结构数组并输出特定的结构值?