Javascript 使用args调用RedQueryBuilderFactory.create的java.lang.ClassCastException
我的JS文件中的这一行:Javascript 使用args调用RedQueryBuilderFactory.create的java.lang.ClassCastException,javascript,redquerybuilder,Javascript,Redquerybuilder,我的JS文件中的这一行: RedQueryBuilderFactory.create(config, 'SELECT "x0"."title", "x0"."priority" FROM "ticket" "x0" WHERE ("x0"."status" = (?))', [] ); 使用空数组作为第三个参数可以正常工作。根据文档和我能找到的任何示例代码,这个参数应该是一个字符串数组。在数组中传递字符串时失败: RedQueryBuilderFactory.create(confi
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']
);
我在Safari控制台中获得java.lang.ClassCastException
。以下是配置的相关部分(如果相关):
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"
}]
} ]
}
};
看起来这是传入参数值的错误。在内部,它期待一个集合,但这并没有发生 如果你在这里提出错误报告最好
NB应该是“IN”而不是“=”查询生成器参数的输出总是一个字符串数组(每个查询参数一个,不管字段类型如何)。因此,理想情况下,它应该收回它输出的相同参数列表。我会填一份错误报告。你说得对。内部可能是一个数组,但对于SQL输入/输出,它应该扩展为额外的?和简单的值。Doh。