假设我的模型定义了一个对象(使用Rails 3):
class User < ActiveRecord::Base
belongs_to :List
validates :name, presence: true
validates :age, presence: true
end
对于某些给定对象User,如何构建字符串[name]数组? 喜欢:
ids = 1 , 2 , 3
Array.new (User.find_all_by_id(ids).name)
会有:
姓名[] = [“约翰”,“鲍勃”,“汤姆”] 任何想法?
答案 0 :(得分:2)
看看采摘:
ids = [1,2,3]
User.where(id: ids).pluck(:name)
您可以将数组传递到where条件,并且只需返回所需的列并返回数组
答案 1 :(得分:1)
要获取User
模型中的一系列名称以获取特定的ID列表,您可以使用
User.where(id: ids).pluck(:name)
其中ids = [1,2,3]
将导致查询
SELECT "users"."name" FROM "users" WHERE "users"."id" IN (1, 2, 3)
答案 2 :(得分:0)
o.find_all_by_id(ids)
会返回一个数组。
o.where(id:ids)在Rails 4风格
中