如何使用IN查询匹配的电子邮件?

时间:2012-09-27 23:06:41

标签: sql ruby-on-rails ruby-on-rails-3 postgresql

给出了一串电子邮件,如:

emails = "atttt@bbb-inc.com, scott@sara.com, a@a.com, rasx@bo.com"

有一个查询,我想返回所有匹配的用户记录:

User.rb (id,email)

这是我的查询,但如果我将电子邮件设置为多封电子邮件,则不会返回结果:

User.where("email IN (?)", emails)
  User Load (1.0ms)  SELECT "users".* FROM "users" WHERE (users.deleted_at IS NULL) AND (email IN ('atttt@bbb-inc.com,, scott@sara.com, a@a.com, rasx@bo.com'))
 => [] 

有关如何更新此User.where查询以从所提供的电子邮件中获取所有匹配用户的建议?谢谢。

1 个答案:

答案 0 :(得分:0)

首先,将emails转换为数组:

emails = "atttt@bbb-inc.com, scott@sara.com, a@a.com, rasx@bo.com".split(', ')

然后你可以打电话:

User.where(:email => emails)