ColdFusion ListAppend

ColdFusion ListAppend

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

我有来自 table 的数据,这是我的代码。

<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 中有一个内置函数可以为您执行此操作。

<cfset dataList = valueList(getData.nm_column)>

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

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

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

尽管字符串是不可变的,但这对性能来说会很糟糕。如果你真的需要通过嘴唇将项目添加到列表中,我会创建一个数组,然后使用 arrayToList 将该数组转换为列表。