0

我的 JS 文件中的这一行:

RedQueryBuilderFactory.create(config, 
  'SELECT "x0"."title", "x0"."priority" FROM "ticket" "x0" WHERE ("x0"."status" = (?))',
  []
);

使用空数组作为第三个参数可以正常工作。根据文档和我能找到的任何示例代码,这个参数应该是一个字符串数组。当我在数组中传递一个字符串时,它失败了:

RedQueryBuilderFactory.create(config, 
  'SELECT "x0"."title", "x0"."priority" FROM "ticket" "x0" WHERE ("x0"."status" = (?))',
  ['in_process']
);

我进入java.lang.ClassCastExceptionSafari 控制台。如果相关,这是配置的相关部分:

var config = {
    meta : {
        tables : [ {
            "name" : "ticket",
            "label" : "Ticket",
            "columns" : [ {
                "name" : "title",
                "label" : "Title",
                "type" : "STRING",
                "size" : 255
            }, {
                "name" : "priority",
                "label" : "Priority",
                "type" : "REF"
            }  ],
            fks : []
        } ],

        types : [ {
            "name" : "REF",
            "editor" : "SELECT",
            "operators" : [ {
                "name" : "IN",
                "label" : "any of",
                "cardinality" : "MULTI"
            }]
        }  ]
    }
};
4

1 回答 1

1

看起来这是传递参数值的错误。在内部,它期待一个集合,但这并没有发生。

最好在这里提出https://github.com/salk31/RedQueryBuilder错误报告?

NB 应该是“IN”而不是“=”

于 2013-10-17T08:24:17.447 回答