我是DataMapper和Ruby的新手,并且一直在努力想出一种格式化表达式的方法,这种表达式将给我提供的信息。让我解释。我的项目中有两个模型:
Class Manufacturer
include DataMapper::Resource
property :id, Serial
property :name, String
...<snip>...
has n, :items
end
Class Item
include DataMapper::Resource
property :id, Serial
property :name, String
...<snip>...
belongs_to :manufacturers
end
我想要的是一个集合,它将为我提供所有制造商的列表,以及他们生产的所有项目的计数。 e.g:
"Acme Industries", 32
"Bart Enterprises", 12
"Coco Mondo", 0
"XYZ Corp.", 55
即:name
模型中的Manufacturer
和count(:id)
模型中的Item
。我到目前为止:
Manufacturer.all.items.aggregate(:manufacturer_id, :all.count)
它为我提供了:manufacturer_id
属性和正确的项目数。关闭,但没有香蕉。
在这种情况下,如何让制造商name
而不是id
属性?
答案 0 :(得分:1)
我试图在一个月前学习如何使用DataMapper,我可以在stackoverflow和互联网上找到非常有限的支持。事实证明,该项目不再受支持,后面的团队正在开发另一个名为ROM的orm。
由于你刚开始我会建议你使用另一个更好的支持(续集,ActiveRecords等)