在我的应用中,我的表用户具有以下列:
t.integer "administrations", array: true
我的代码看起来像这样:
User.where("administrations::int[] = ARRAY[#{administration_ids.join(',') }]::int[]")
但它很容易被sql注入。我试图将这些改写成类似的东西:
User.where("administrations::int[] = ?", "ARRAY[#{administration_ids.join(',') }]::int[]")
但这不起作用......
它返回:
PG::InvalidTextRepresentation: ERROR: array value must start with "{" or dimension information
答案 0 :(得分:1)
会
User.where("administrations::int[] = ARRAY[?]::int[]", administration_ids.join(','))
工作?
答案 1 :(得分:0)
也像这样的工作:
User.where(administrations: '{15,26,62,89,121}')