【问题标题】:ColdFusion ListAppendColdFusion 列表追加
【发布时间】:2016-11-07 04:16:21
【问题描述】:

我在尝试使用 ListAppend 时遇到困难。

我有一个表格中的数据,这是我的代码。

<cfquery name="getData" datasource="test">
  select * from test;
</cfquery>

现在我要做的是使用ListAppend 将列名中的所有值(我将其命名为nm_column)放入一个列表中。

<cfset dataList = ListAppend('', '#getData.nm_column#')>
<cfoutput>#dataList#</cfoutput>

这样做是它只显示nm_colum 的第一个值。我明白我错过了循环部分,这就是为什么它只向我显示第一个值。那么如何循环它并获取所有值呢?

我试过了,但是没有用。

<cfset dataList = ListAppend('', '<cfloop query="getData">#getData.nm_column#</cfloop>')>

那么有人可以教我正确编写该代码的方法吗?

【问题讨论】:

    标签: coldfusion coldfusion-11


    【解决方案1】:

    ColdFusion 中有一个内置函数可以为您执行此操作。

    <cfset dataList = valueList(getData.nm_column)>
    

    就您的代码问题而言,listAppend 的第一个参数是您要添加内容的列表。此外,您不能像这样嵌套 ColdFusion 标记。代码不会编译。

    如果您想遍历某些内容以附加到列表,这就是您要做的。

    <cfset dataList = ''>
    <cfloop query="getData">
      <cfset dataList = listAppend(dataList, nm_column)>
    </cfloop>
    

    这对于性能来说是很糟糕的,因为字符串是不可变的。如果您确实需要通过 lip 将项目添加到列表中,我会创建一个数组,然后使用 arrayToList 将该数组转换为列表。

    【讨论】:

    • 您可能不必创建数组。数组函数适用于查询列。
    猜你喜欢
    • 2020-09-24
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    • 2017-12-15
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多