内容简介:翻译自:https://stackoverflow.com/questions/9867744/how-to-pass-data-to-in-query-in-rails-3
我正在使用rails 3和sqlite db.
使用IN查询.
当前将项的字符串变量传递给IN查询.
但是在执行该查询时需要”因此它不起作用.
如何克服这种情况?
这是我的代码
items = "" items << "#{@invitation_user1.id}" << "," << "#{@invitation_user2.id}" << "," << "#{@user1.id}" << "," << "#{@user2.id}" << "," << "#{@user2.id}" << "," << "#{@profile1.id}" << "," << "#{@profile2.id}" @activities = Version.where("item_id IN (?)","#{items}")
尝试过items.to_i,items.to_s但是没有用.
在日志我可以看到这一点.
SELECT "versions".* FROM "versions" WHERE (item_id IN ('19,20,4,1,1,4,1'))
但我所需要的只是
SELECT "versions".* FROM "versions" WHERE (item_id IN (19,20,4,1,1,4,1))
你可以直接传入一个数组.Rails很聪明,可以用它做正确的事情:
items = [ @invitation_user1.id, @invitation_user2.id, @user1.id, @user2.id, @profile1.id, @profile2.id ] @activities = Version.where("item_id IN (?)", items) # or equivalently: @activities = Version.where(:item_id => items)
这比您的变体更受欢迎,因为Rails正确处理所使用的数据库适配器的所有传递值的转义.
翻译自:https://stackoverflow.com/questions/9867744/how-to-pass-data-to-in-query-in-rails-3
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- VUE父子组件传递数据
- Vue 中父子组件数据传递
- vue组件之间的数据传递方法
- ios – instantiateViewControllerWithIdentifier并传递数据
- Vue使用props父子组件传递数据
- react新更新的context传递数据
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Practical Algorithms for Programmers
Andrew Binstock、John Rex / Addison-Wesley Professional / 1995-06-29 / USD 39.99
Most algorithm books today are either academic textbooks or rehashes of the same tired set of algorithms. Practical Algorithms for Programmers is the first book to give complete code implementations o......一起来看看 《Practical Algorithms for Programmers》 这本书的介绍吧!