Я думаю, что единственный способ сделать это без большого количества запросов к БД - это сначала загрузить всех пользователей по номеру телефона, который у вас уже есть, а затем сопоставить ваши номера телефона с найденными пользователями
phones_numbers = [7799569, 7818111, 7820442, 78343033, 78347700, 7836863, 7837873, 7837898, 7838025, 7838442]
users = User.where(phone_number: phones_numbers)
users = phones_numbers.map { |number| users.find_by(phones_number: number) }
загруженный будет кэшироваться в памяти, поэтому даже если есть запросы, время их выполнения будет незначительным
, вы также можете использовать #detect
, если хотите сделать это на уровне ruby / rails
#same stuff as above
users = phones_numbers.map { |number| users.detect { |user| user.phones_number == number } }