variables - ColdFusion 变量的奇怪行为
问题描述
我正在利用 Bootstrap 选项卡在我的 ColdFusion 项目中显示一些数据。我试图遍历从数据库返回的类列表,然后根据该类获取信息。这是适用于我的问题的代码片段:
<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>
声明!
推荐阅读
- python - 在具有列平均值的列中填充 NaN 值
- python - 在 PyQt5 中显示 MathJax 闪烁和状态栏
- amazon-web-services - 如何在 lambda 函数运行时设置启动/停止 NAT 网关的作业
- proguard - Proguard 混淆 - 内存不足问题
- c++ - C++ 如何知道调用哪个“++”运算符?
- flutter - 让 wrap 占据全宽
- java - java-engine.eval("带方程的字符串"); 我想得到 BigDecimal 的输出
- python - PYthon 索引错误:Selenium / Web 驱动程序
- html - 希望 div 与屏幕右侧对齐。浮动:正确不起作用
- google-cloud-platform - 我们可以从云功能中运行 GCP VM 中的 jar