繁体   English   中英

我该如何在Rails中使用field in编写此代码?

[英]How can I write this using `field in` in rails way?

我了解到,使用field in (a1,a2,a3)比使用=运算符要快。

SELECT *
FROM user
WHERE Greeting IN ('hello', 'hi', 'hey')

如何以Rails方式编写以上查询?

您将执行以下操作:

users = User.where('greeting in (?)', %w{hello hi hey})

Rails将知道如何处理数组%w{hello hi hey} ,作为占位符的值。 或者,如果您已经有一个字符串数组:

h_words = [ 'hello', 'hi', 'hey' ]
users   = User.where('greeting in (?)', h_words)
# or even this
users   = User.where('greeting in (:words)', :words => h_words)

或者,可能是最Railsy的方式,如下所示:

users = User.where(:greeting => %w{hello hi hey})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM