无法从Coldfusion方法调用返回查询

Gar*_*ary 1 coldfusion object

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

现在我有另一个返回查询的方法.我已经cfdumped方法返回的内容,它确实是一个返回的查询.

当我尝试通过查询cfloop时,我得到一个错误.

这是cfloop代码:

<cfloop query="myObject.myFunction()">
    <p><cfoutput>#myObject.myFunction().title#</cfoutput></p>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

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

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

有什么想法吗?提前致谢!

Cia*_*her 6

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

<cfset qData = myObject.myFunction() />
Run Code Online (Sandbox Code Playgroud)

然后你可以循环它.

<cfloop query="qData">
    <p><cfoutput>#qData.title#</cfoutput></p>
</cfloop>
Run Code Online (Sandbox Code Playgroud)

原因是<cfloop/>标记需要查询对象,而不是对函数的引用.

你可以尝试看看是否<cfloop query="#myObject.myFunction()#">有效(用#),但我不确定是否会.此外,循环内的每个调用#myObject.myFunction().title即将重新运行查询.显然不太好!

希望有所帮助!