gpt4 book ai didi

ruby-on-rails - Ruby PG gem 使用数组作为带有 exec_params 的参数

转载 作者:数据小太阳 更新时间:2023-10-29 07:47:47 25 4
gpt4 key购买 nike

我想像这样传递一个 ruby​​ 数组值:

sql = "SELECT $1"
User.connection.raw_connection.exec_params(sql, [[1,2]])

返回

PG::IndeterminateDatatype: ERROR:  could not determine data type of parameter $1

如果我将 sql 更改为 "SELECT $1::int[]" 我会得到 PG::InvalidTextRepresentation: ERROR: invalid input syntax for integer: "[1, 2]”

有没有办法将 ruby​​ 数组传递给 exec_params 并将其转换为 PostgreSQL 数组?

最佳答案

您可以使用编码器来做到这一点:

raw_connection.exec(
"select $1::int[]",
[PG::TextEncoder::Array.new.encode([1, 2])]
)

关于ruby-on-rails - Ruby PG gem 使用数组作为带有 exec_params 的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30409360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com