我的父对象有两个子对象。
它们每个都有update_at和viewed_at时间戳。
即具有has_many / belongs_to关联的人对象
Books: updated_at, viewed_at
Videos: updated_at, viewed_at
我想要一个仅能查询四次中的最新查询的查询。 即
Person.getAllBooksAndVideos.pluck(:updated_at, :viewed_at).sort{|a,b| [a.updated_at, a.viewed_at].compact.max <=> [b.updated_at, b.viewed_at].compact.max}.last
我不知道如何做getAllBooksAndVideos.pluck(:updated_at, :viewed_at)
部分,非常欢迎任何建议。
答案 0 :(得分:0)
您可以整理数组中所有关联的结果,并在其上调用sort_by。
result = (person.books + person.videos).sort_by {|x| [x.updated_at, x.viewed_at]}.last
然后,您应该能够这样访问结果:
result.updated_at # This should give you your updated_at date
result.viewed_at # This should give you your viewed_at date