ruby-on-rails-3 - 在Rails 3中使用数组格式的find_by_sql

标签 ruby-on-rails-3 activerecord model find-by-sql

大家好!

我在rails 3中使用 find_by_sql()来获取记录,如下所示。

@list=Email.find_by_sql(["SELECT * FROM Emails WHERE sent_id=?",params[:id]])

如果多个参数适用于同一属性,如何修改同一条语句,例如:
@list=Email.find_by_sql(["SELECT * FROM Emails WHERE (sent_id=? OR from_id=?)",params[:id],params[:id]])

在这里, sent_id from_id 属性都接收相同的参数 params [:id]

因此,除了两次传递相同的 params [:id] 外,有没有可用的机制可以根据顺序传递参数?

最佳答案

您可以使用哈希来命名插值,如下所示:

@list = Email.find_by_sql(["SELECT * FROM Emails WHERE (sent_id = :id OR from_id = :id)", {:id => params[:id]}])

关于ruby-on-rails-3 - 在Rails 3中使用数组格式的find_by_sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10977104/

相关文章:

ruby-on-rails - 了解 Rails 路线 : match vs root in routes. rb

ruby-on-rails - 在 rails 3.2 + 设计 2.0 之后设计列confirmed_at 不再更新

ruby-on-rails - 从 Rails 3.0.3 的 URL 中正确转义特殊字符

ruby-on-rails - 查询,无法选择列数

django - 如何获取 Django 模型的应用程序?

ios - 关于 iOS 中全局变量的替代方法(使用类方法和变量)

ruby-on-rails - 如何清理我的 join_table 并删除重复的条目?

ajax - 如何异步上传图片

php - 使用 codeigniter 比较数组中的数据并计算它在数据库中出现的实例数

ruby-on-rails - rails : How to get a model to "inherit" attributes from a parent model?