有没有办法在rails活动记录方法中使用bind params选择?
我有像
SELECT column * #{param1} / #{param2} as value
FROM table
ORDER BY value
所以我有外部参数,我想绑定。
需要类似
的内容Table.select('column * :param1 / :param2 as value',
{param1: param1, param2: param2})
.order('value').all
此查询出错
Unsupported argument type: Hash. construct an Arel node instead.
答案 0 :(得分:0)
有两种方法可以解决这个问题。您可以使用数组条件或散列条件语法。
数组条件:
Table.where("property BETWEEN ? AND ?", param1, param2)
哈希条件:
Table.where("property BETWEEN :param1 AND :param2", param1: param1, param2: param2)
好像你正在使用哈希条件,但我不确定这是一个正确的select语句。尝试使用"其中"相反,省略"列*"检索所有列。