問題
最近程式透過 knex.raw(...).toQuery
時,發生 Undefined binding(s) detected for keys
的錯誤,詳細如下,
Error: Undefined binding(s) detected for keys [GroupOrRoomId] when compiling RAW query: (?,:GroupOrRoomId,?)at Raw.toSQL
程式碼如下,
1 | const value = knex |
解法
錯誤有將 Key 指出來,就是 GroupOrRoomId
對應的物件為 Undefined
。
所以就針對 data.groupOrRoomId
檢查它的值為 undefined
是否合理,
或是允許它為空字串,就可以加上保護程式,如下,
1 | if(!data.groupOrRoomId) data.groupOrRoomId=''; |