1

在这里,我正在使用QueryFilter()函数。我已经了解了这个函数的用法和返回类型。adobe 文档说它是 return query。但是示例代码返回Coldfusion2016 中的结构数组。我在cf2018 中尝试过相同的代码,但它只返回查询

所以我尝试了相同的代码trycf.com。当我在 trycf 中选择 cf2016 时,也只在查询中返回类型。但我不知道为什么我的 cf2016 返回结构数组。我的示例代码。

<cfscript>

    news = queryNew("id,type,title", "integer,varchar,varchar");
    queryAddRow(news,[{
        id: 1,
        type: "book",
        title: "Cloud Atlas"
    },{
        id: 2,
        type: "book",
        title: "Lord of The Rings"
    },{
        id: 3,
        type: "film",
        title: "Men in Black"
    }]);


    books = QueryFilter(news,function(_news) {
        return _news.type is 'book';
    });
    writeDump(books);

</cfscript>

我本地的 CF2016 输出:

在此处输入图像描述

CF2018 输出:

在此处输入图像描述

请问有人知道这个问题的根本原因吗?

4

1 回答 1

2

是的,queryFilter()应该返回过滤后的查询。我们有一个问题,即在 cf2016 中的 update11 之前返回类型为结构数组。因此,一旦我将 cf2016 从update10 更新到 update11。它得到解决。现在我的 queryFilter() 函数只返回查询。

所以update11 在 cf2016 中解决了这个问题。谢谢你。

于 2020-06-01T05:22:51.910 回答