Kap*_*h M 50 ruby ruby-on-rails ruby-on-rails-3 rails-activerecord
在rails中构造sql查询以仅从数据库中选择某些列的方式是什么,我有一些大数据字段,我希望避免从连续的定期ajax调用中加载.不必要地阅读是资源消耗和缓慢.
@itemlist = Item.find(:all, :conditions => { .... } ) #this select all columns
Run Code Online (Sandbox Code Playgroud)
我正在寻找SELECT name, address FROM users;
而不是SELECT * FROM users;
nya*_*yaa 110
Rails 3:
Item.select("name, address").where( .... )
dku*_*mar 26
利用:select
构造.试试这个:
@itemlist = Item.select('name, address', conditions: { .... } )
Run Code Online (Sandbox Code Playgroud)
对于以前版本的Rails:
@itemlist = Item.find(:all,:select => 'name, address', :conditions => { .... } )
Run Code Online (Sandbox Code Playgroud)
Mic*_*ley 10
使用Arel(也就是在Rails 3中),使用:
Item.where(...).select("name, address")
Run Code Online (Sandbox Code Playgroud)
此外,如果你在具有:include =>的范围上进行操作,似乎会忽略.select ...
小智 6
@itemlist = Item.select('name, address').where(...#some condition)
Run Code Online (Sandbox Code Playgroud)
如果要从 中选择特定列rails console
,pluck(
将起作用。例子:
2.4.1 :007 > User.connection
2.4.1 :006 > User.all.pluck(:email)
(0.3ms) SELECT `users`.`email` FROM `users`
=> ["test@test.com", "another_test@test.com"]
Run Code Online (Sandbox Code Playgroud)
请注意,这也适用于 Rails 应用程序。
归档时间: |
|
查看次数: |
63644 次 |
最近记录: |