1
我有兩個具有1-n關係的類。像這樣:將Mongoid關係配置爲返回排序對象
class Band
include Mongoid::Document
has_many :members
end
class Member
include Mongoid::Document
field :name, type: String
field :joined, type: Date
belongs_to :band
end
現在當我打電話給band.members
時,我得到了成員對象。我想要的是,如果我打電話band.members.last
獲得加入最後的成員。我爲Member
通過定義<=>
方法實現這個和排序基於joined
:
band.members.sort.last
我怎樣才能使這種行爲的默認?我不想避免額外的電話排序。這是可能的,如果是的話,怎麼樣?
「我不希望避免額外的呼叫排序」?我沒有關注。爲什麼不只是添加一個方法,以清晰的方法名稱進行所需的操作? – WiredPrairie
@WiredPrairie這是我目前的解決方案。我有一個'latest_band_member'方法來執行'band.members.sort.last'。我想知道這是否可以通過Mongoid DSL實現自動化。 –