ColdFusion 变量的奇怪行为
Strange Behavior of ColdFusion Variable
我正在使用 Bootstrap 选项卡来显示我的 ColdFusion 项目中的一些数据。我试图遍历从数据库返回的 classes 列表,然后根据 class 获取信息。这是适用于我的问题的代码片段:
<div class="tab-content" id="class-tabs-content">
<cfset allClassIDs = ValueList(classes.class_id)>
<cfset numOfClasses = ListLen(allClassIDs)>
<cfloop from="1" to="#ListLen(allClassIDs)#" index="i">
<cfset myIndex = ListGetAt(allClassIDs, i)>
<cfoutput>
<div class="tab-pane fade<cfif i EQ 1> show active</cfif>" id="panel-#myIndex#" role="tabpanel" aria-labelledby="tab-#myIndex#">
<!--- The following returns a cfquery --->
<cfset items = CreateObject("component", "com.modules.reels").getInventoryByDivisionAndClass("query", division.location_id, myIndex)>
#items.RecordCount# <-- CODE FAILS ON THIS LINE WITH MESSAGE "variable [ITEMS] doesn't exist"
</div>
</cfoutput>
</cfloop>
</div>
更新:我尝试了一个更简单的例子来说明我正在尝试做的事情,但我得到了同样的错误:变量 [ITEMS] 不存在。这是我尝试过的简化代码块:
<cfset classes = CreateObject("component", "com.modules.reels").getClasses("query")>
<cfset ClassIDs = ValueList(classes.class_id)>
<cfloop from="1" to="#ListLen(ClassIDs)#" index="i">
<cfset ClassID = ListGetAt(ClassIDs, i)>
<cfoutput>
<cfset items = CreateObject("component", "com.modules.reels").getInventoryByDivisionAndClass("query", 3, ClassID)>
<cfdump var = "#items#">
</cfoutput>
</cfloop>
我不明白这里可能发生了什么!当我在上一行设置它并且 cfset 没有抛出错误时,变量怎么不存在?请帮忙!
感谢@rrk 的评论。事实证明(我觉得真的很愚蠢),getInventoryByDivisionAndClass()
缺少它的 <cfreturn>
语句!
我正在使用 Bootstrap 选项卡来显示我的 ColdFusion 项目中的一些数据。我试图遍历从数据库返回的 classes 列表,然后根据 class 获取信息。这是适用于我的问题的代码片段:
<div class="tab-content" id="class-tabs-content">
<cfset allClassIDs = ValueList(classes.class_id)>
<cfset numOfClasses = ListLen(allClassIDs)>
<cfloop from="1" to="#ListLen(allClassIDs)#" index="i">
<cfset myIndex = ListGetAt(allClassIDs, i)>
<cfoutput>
<div class="tab-pane fade<cfif i EQ 1> show active</cfif>" id="panel-#myIndex#" role="tabpanel" aria-labelledby="tab-#myIndex#">
<!--- The following returns a cfquery --->
<cfset items = CreateObject("component", "com.modules.reels").getInventoryByDivisionAndClass("query", division.location_id, myIndex)>
#items.RecordCount# <-- CODE FAILS ON THIS LINE WITH MESSAGE "variable [ITEMS] doesn't exist"
</div>
</cfoutput>
</cfloop>
</div>
更新:我尝试了一个更简单的例子来说明我正在尝试做的事情,但我得到了同样的错误:变量 [ITEMS] 不存在。这是我尝试过的简化代码块:
<cfset classes = CreateObject("component", "com.modules.reels").getClasses("query")>
<cfset ClassIDs = ValueList(classes.class_id)>
<cfloop from="1" to="#ListLen(ClassIDs)#" index="i">
<cfset ClassID = ListGetAt(ClassIDs, i)>
<cfoutput>
<cfset items = CreateObject("component", "com.modules.reels").getInventoryByDivisionAndClass("query", 3, ClassID)>
<cfdump var = "#items#">
</cfoutput>
</cfloop>
我不明白这里可能发生了什么!当我在上一行设置它并且 cfset 没有抛出错误时,变量怎么不存在?请帮忙!
感谢@rrk 的评论。事实证明(我觉得真的很愚蠢),getInventoryByDivisionAndClass()
缺少它的 <cfreturn>
语句!