0

我刚开始学习一些数据库基础知识。我正在使用Rubydatamapper gem

我有两个简单的对象:

class Quote
  include DataMapper::Resource
  property :id, Serial
  property :saying, String, :required => true
  property :score, Integer, :default => 5
  belongs_to :user
end

class User
  include DataMapper::Resource
  property :id, Serial
  has n, :quotes
end

不,我想获得用户的总分。总分是用户所有关联报价的得分之和。

我尝试了类似的东西

@totalscore = @user.quotes.inject(0) {|count, q| count + q.score}

但我想这不是我应该使用数据库的方式,对吧?

任何帮助表示赞赏!

最好的,

托比

4

1 回答 1

2

我没有运行代码,但是通过查看文档,我认为这样的事情应该可以工作:

@totalscore = @user.quotes.sum :score
于 2013-01-14T12:07:12.880 回答