gpt4 book ai didi

coldfusion - 返回查询结构

转载 作者:行者123 更新时间:2023-12-02 07:44:16 26 4
gpt4 key购买 nike

如果像这样创建一系列查询:

<cfloop list="#platform_list#" index="x">
<cfquery name="#trim(x)#" dbtype="query">
<!--- stuff to build the query --->
</cfquery>
</cfloop>

然后我在结构中返回查询,如下所示:

<cfset queries_RET = StructNew() />
<cfloop list="#platform_list#" index="x">
<cfif StructKeyExists(args, #trim(x)#)>
<!--- here's where I think things go horribly wrong --->
<cfset queries_RET[x] = #x# />
</cfif>
</cfloop>

<cfreturn queries_RET />

然后当作为“graphData”返回到调用函数时,我尝试像这样访问它:

<cfloop list="#platform_list#" index="x">
<cfif StructKeyExists(url, x) and StructKeyExists(graphData, x)>
<cfloop query="graphData[x]">

最后一行出现错误:

Attribute validation error for tag cfloop.
The value of the attribute query, which is currently graphData[x], is invalid.

graphData[x] 处的结构值是一个与元素名称具有相同值的字符串...那么我该怎么做才能为查询分配该名称呢?我敢肯定这是非常明显的。 :(

编辑:

我会把答案给肖恩,尽管我终于弄清楚了我的根本问题是什么。首先,我没有意识到

<cfset queries_RET[x] = #x# />

实际上并没有将查询分配给 x 处的元素,而是将其引用。要分配实际的查询对象,我需要这样做:

<cfset queries_RET[x] = #Evaluate(x)# />

其次,当结构返回给调用函数时,调用

<cfloop list="#Application.platform_list#" index="x">
<cfloop query="#graphData[x]#">

没有工作,因为 cfloop 的查询属性正在寻找对查询对象的引用 --- 而它正在寻找的查询对象不存在,因为它不存在回。

最后,现在我实际上返回了一个有效的查询对象,该查询属性仍然不起作用,因为现在 graphData[x] 不是引用。为了让它工作,我必须首先分配一个引用,并将其用作 cfloop 中的查询属性:

<cfloop list="#Application.platform_list#" index="x">
<cfset thisQuery = #graphData[x]#>
<cfloop query="thisQuery">

我认为我的根本问题是不理解查询属性不是实际的查询对象,而是对一个查询对象的引用。这是一条学习曲线!

最佳答案

尝试

<cfloop list="#platform_list#" index="x">
<cfif StructKeyExists(url, x) and StructKeyExists(graphData, url[x])>
<cfset q = graphData[x]>
<cfloop query="q">

如果抛出

The value of the attribute query, which is currently q, is invalid

然后你应该 cfdump q 确保它是一个查询对象。

关于coldfusion - 返回查询结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8172971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com