大家好!
我在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/