我的JS文件中的这一行:
RedQueryBuilderFactory.create(config,
'SELECT "x0"."title", "x0"."priority" FROM "ticket" "x0" WHERE ("x0"."status" = (?))',
[]
);
使用空数组作为第3个参数。根据文档和我能找到的任何示例代码,该参数应该是一个字符串数组。当我在数组中传递一个字符串时,它失败了:
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"
}]
} ]
}
};
答案 0 :(得分:1)
看起来这是传递参数值的错误。在内部,它期待一个集合,但这不会发生。
最好是在这里提出https://github.com/salk31/RedQueryBuilder错误报告吗?
NB应为“IN”而不是“=”