小编iny*_*ner的帖子

Rails中ActiveRecord中的多个sum()

我想在同时选择其他字段时将多个sums()链接到一个组.我也更喜欢使用ActiveRecord方法来做这个而不是手动构造一个sql字符串,因为我可以稍后修改ActiveRecord的继承类的行为.

例如,我想代表声明(作为例子)

select user_id, sum(cost) as total_cost, sum(quantity) as total_quantity from line_items group by user_id
Run Code Online (Sandbox Code Playgroud)

有类似的东西:

LineItem.select(:user_id).group(:user_id).sum(:cost).sum(:quantity)
Run Code Online (Sandbox Code Playgroud)

原因是我可能会在以后添加额外的分组和where子句,所有的总和将具有共同点.

activerecord ruby-on-rails

10
推荐指数
1
解决办法
6210
查看次数

Ruby Assignment语法

一个愚蠢的句法问题:

如果赋值运算符实际上是一个函数,比如

def value=(x)
  @value = x
end
Run Code Online (Sandbox Code Playgroud)

如果左侧操作数和"="之间没有空格,那么为什么可以将赋值作为test.value = x(带空格),但方法定义不能写为:

def value = (x)
  @value = x
end
Run Code Online (Sandbox Code Playgroud)

与空间.这只是解析器决定的语法吗?

ruby syntax language-design

6
推荐指数
1
解决办法
1171
查看次数