对具有某个属性设置为nil且最后一个未设置为nil的对象的查询

时间:2014-04-29 11:07:37

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

Category有很多Post

我想要一个(AssociationRelation类的)集合:

所有将published_at属性设置为nil

的帖子

一起

最近发布的帖子" published_at"日期

另外两个查询如下所示:
    .where("published_at is NULL")
    .order(published_at: :desc).limit(1)

但我怎么能有一个两者都有的收藏品?

1 个答案:

答案 0 :(得分:0)

使用partition

recent, rest = Post.order('published_at DESC').partition{ |e| e[:published_at] != nil }
recent_one = Array.new << recent.first
@posts = recent_one + rest

因此,在@posts中,第一篇文章将是最近发布的帖子,其余帖子将与published_at nil

一起