【发布时间】:2019-11-01 23:11:20
【问题描述】:
目前,我正在使用导轨中 Where 查询中的电话号码字段来获取用户记录,如下所示。
users = User.where(phone: ["123421341234", "123423144", "123423144","444633333",,,,,,,,,,,,])
我有前三个手机号码的用户记录。但是对于第 4 个手机号码(444633333),表中没有用户记录,所以对于这个用户,我想获取“nil”对象。(如果用户存在,则应返回用户对象)
如何更改上述查询。结果数组应包含序列中的对象(在搜索数组序列中)
【问题讨论】:
-
你可以试试这样的
[137,145,200].map { |id| User.find_by(phone: id) }。因为where会忽略record not found exception -
但是查询越来越多。在单个查询中,我想获取所有记录。我的数据库包含数以亿计的用户。
标签: ruby-on-rails arrays where-clause