2013-10-16 61 views
0

這條線我的JS文件:java.lang.ClassCastException調用RedQueryBuilderFactory.create與ARGS

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

工作正常witih空數組作爲第三個參數。根據文檔以及我可以找到的任何示例代碼,此參數應該是一個字符串數組。當我傳遞數組中的字符串時,它會失敗:

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" 
      }] 
     } ] 
    } 
}; 

回答

1

看起來像這是傳遞參數值的錯誤。它在內部期待收集,但這不會發生。

如果您在此提出https://github.com/salk31/RedQueryBuilder錯誤報告,最好?

NB應該是「IN」不「=」

+0

的查詢生成器參數的輸出始終爲一個字符串數組(一個用於每個查詢參數無論字段類型)。所以理想情況下,它應該將相同的參數列表放回原來的位置。我會填寫一份錯誤報告。 –

+0

你說得對。內部可能是一個數組,但對於SQL輸入/輸出它應該擴展到額外的?和簡單的價值。衛生署。 – salk31

相關問題