从Coldfusion方法调用返回查询时出现问题

从Coldfusion方法调用返回查询时出现问题,coldfusion,object,Coldfusion,Object,好的,我已经实例化了一个对象,一切都很好。我能够轻松调用该对象的各种方法,例如myobject.getId()、myobject.getName()等。这些示例都返回字符串或数值 现在我有了另一个返回查询的方法。我已经转储了该方法返回的内容,它确实是一个正在返回的查询 当我尝试循环查询时,我得到了一个错误 以下是cfloop代码: <cfloop query="myObject.myFunction()"> <p><cfoutput>#myObject

好的,我已经实例化了一个对象,一切都很好。我能够轻松调用该对象的各种方法,例如myobject.getId()、myobject.getName()等。这些示例都返回字符串或数值

现在我有了另一个返回查询的方法。我已经转储了该方法返回的内容,它确实是一个正在返回的查询

当我尝试循环查询时,我得到了一个错误

以下是cfloop代码:

<cfloop query="myObject.myFunction()">
    <p><cfoutput>#myObject.myFunction().title#</cfoutput></p>
</cfloop>

#myObject.myFunction().title#

我得到的错误引用了第一行,并说:

无效的变量声明[myObject.myFunction()]


有什么想法吗?提前谢谢

好的,所以您只需要稍微更改代码,这样您就可以先调用来运行查询,例如

<cfset qData = myObject.myFunction() />

然后你可以在上面绕圈子

<cfloop query="qData">
    <p><cfoutput>#qData.title#</cfoutput></p>
</cfloop>

#qData.title#

原因是
标记需要一个查询对象,而不是对函数的引用

你可以试着看看
是否(和#一起)有效,但我不确定它是否有效。此外,循环中的每个调用,即
#myObject.myFunction().title
都将重新运行查询。显然不好


希望有帮助

好的,所以您只需要稍微更改代码,这样您就可以先调用来运行查询,例如

<cfset qData = myObject.myFunction() />

然后你可以在上面绕圈子

<cfloop query="qData">
    <p><cfoutput>#qData.title#</cfoutput></p>
</cfloop>

#qData.title#

原因是
标记需要一个查询对象,而不是对函数的引用

你可以试着看看
是否(和#一起)有效,但我不确定它是否有效。此外,循环中的每个调用,即
#myObject.myFunction().title
都将重新运行查询。显然不好


希望有帮助

成功了,谢谢!我可以发誓我曾经尝试过将方法调用放入一个变量,然后在该变量上循环,但我想我没有。这样做了,谢谢!我可以发誓我曾经尝试过将方法调用放入变量中,然后在变量上循环,但我想我没有。