您好我想询问是否可以使用ActiveRecord查询获取清晰数据的数组,而不使用map,collect或者每个。
names = User.find(:all, :select => "name")
return names == [#<User name:"Peter">,#<User name:"Martin">]
我想要名字== [“彼得”,“马丁”]而不使用地图,收集或每个。谢谢你的回答。
答案 0 :(得分:1)
即使ActiveRecord提供了一个方法来执行您想要的操作(单列到值数组),它也会在内部使用循环(每个或收集)来执行此操作。
在这种情况下,我没有看到使用循环有什么问题,Ruby使它很容易实现。
users = User.find(:all, :select => "name").collect { |u| u.name }
答案 1 :(得分:1)
User.connection.select_values("SELECT name FROM users")
#=> ["francois"]
答案 2 :(得分:0)
不,你不能不使用地图,收集每个...等......
换句话说,您无法在单个查询中获得此类结果。