【问题标题】:Strange Behavior of ColdFusion Variable [closed]ColdFusion 变量的奇怪行为
【发布时间】:2021-10-27 14:30:36
【问题描述】:

我正在使用 Bootstrap 选项卡在我的 ColdFusion 项目中显示一些数据。我试图遍历从数据库返回的类列表,然后根据该类获取信息。这是适用于我的问题的代码的 sn-p:

<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没有抛出错误时,变量怎么可能不存在?请帮忙!

【问题讨论】:

  • 可能是getInventoryByDivisionAndClass 的结果是voidnull
  • 我认为您可能还需要在这篇文章中添加功能大纲。

标签: variables coldfusion cfml


【解决方案1】:

感谢@rrk 的cmets。事实证明(我觉得很愚蠢),getInventoryByDivisionAndClass() 缺少它的 &lt;cfreturn&gt; 声明!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-05
    • 2017-12-02
    • 2014-06-05
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多