我想使用rails活动记录执行一个原始SQL查询,但我的查询需要一个参数,我找不到一个合适的方法来安全地将该参数传递到查询字符串中。查询如下
def self.get_branches_by_workspace_name(workspace_name)
branches = ActiveRecord::Base.connection.execute("
select
address,
phone,
email,
services
from branches as b, workspaces as w
where b.workspace_id = w.id and w.name= :workspace_name", workspace_name).to_a
return branches
end
我想传递一个名为“workspace_name”的参数。有什么需要帮忙的吗?
3条答案
按热度按时间bwntbbo31#
在您的模型中添加此方法
这将允许您在AR模型中清理和执行任意SQL
然后运行类似于下面的代码来执行SQL,返回一个哈希数组,查询返回的每行一个哈希
hts6caw32#
在您的模型之外:
mf98qq943#
在你的模型中你可以这样做