我有一系列用户,以及他们的数组ID。我需要使用{name =>创建哈希id},但是具有id' s数组的顺序。例如,当我写道:
keys = [5, 3, 2, 4, 1]
users = User.all.where(id: keys).pluck(:name, :id).to_h
它会给我{"User_1"=>2, "User_2"=>3, "User_3"=>4, "User_4"=>5, "User_0"=>1}
但是我需要得到这样的东西:
{"User_4"=>5, "User_2"=>3, "User_1"=>2, "User_3"=>4, "User_0"=>1}
是否有机会在哪里进行操作?
答案 0 :(得分:0)
您从数据库获得的用户数组按updated_at
列排序。试试这个:
users = User.where(id: keys).order(id: :desc).pluck(:name, :id).to_h