繁体   English   中英

Rails,添加列以选择语句

[英]Rails, add column to select statement

@products=@products
  .group('products.id')
  .joins(:inventories)
  .select('products.*, sum(inventories.units_available) as `level`')

是我可以选择的东西,尽管我不想使用产品。*因为我不想每次都获取所有数据,所以我只想将sum()添加到Select {stuff}中的内容中制品

如何将某些内容添加到rails选择的列而不是覆盖它? 谢谢!

Rails默认情况下将选择“ *”,因此有点违反您只想选择一些列的说法。 您是否尝试过仅处理所需的列,然后根据需要选择获取更多/所有列? 我假设您需要product_id才能使连接正常工作。

@products = @products
  .group('products.id')
  .joins(:inventories)
  .select('products.id, inventories.product_id, inventories.units_available, sum(inventories.units_available) as `level`')

if i_need_some_other_column
  @products = @products.select('products.some_other_column') 
end

if i_really_need_all_the_columns
  @products = @products.select('products.*, inventories.*')
end

我99%确信,链接选择将智能添加其余的列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM