我有一个多次调用的查询,具体取决于变量vchrStatus
<cffunction name="getGalleriesByStatus" output="no" returntype="query">
<cfargument name="vchrStatus" type="string" required="yes">
<cfquery
name="getGalleries"
datasource="#Application.dsn#">
/// Long complicated query in here
</cfquery>
<cfset var result="#getGalleries#">
<!--- Return it --->
<cfreturn result>
</cffunction>
我使用cfdump测试了该函数,并输出了所需的结果。
现在我想在cfoutput中循环结果
<cfoutput query="getGalleriesByStatus('Pending')">
但是我收到了错误:属性查询的值(当前为getGalleriesByStatus('Pending'))无效。
答案 0 :(得分:10)
<cfoutput>
获取查询变量的名称(即:字符串)。它不会采用评估查询的表达式。所以你需要这个:
<cfset someVar = getGalleriesByStatus('Pending')>
<cfoutput query="someVar">
这是违反直觉的,但情况确实如此。它也不在文件中,即sux。