基于数组大小的 Mongoid 排序模型在其他模型 (has_one) 关系中
Mongoid sort Model based on array size which is in other Model (has_one) relation
我有 Postactivity
模型,它有 post_id
作为 Post 模型(has_one 关系)的外键,这个 Postactivity
模型有喜欢数组。
如何按 likes
对 Post
模型进行排序?
class Post
has_one :postactivity, foreign_key: :post_activity_id, class_name:"PostActivity"
end
class PostActivity
field :likes, type: Array
belongs_to :post, foreign_key: :post_id, class_name: "Post"
end
class PostActivity
field :likes, type: Array
field :likes_count, type: Integer, default: 0
belongs_to :post, foreign_key: :post_id, class_name: "Post"
before_save do
self.likes_count = lies.size
end
end
现在您可以按 likes_count
字段对 PostActivity 模型进行排序。
PostActivity.order_by(:likes_count => :desc)
您将对 PostActivity
个实例进行排序。如果您需要 post,可以致电获取:
PostActivity.order_by(:likes_count => :desc).first.post
帖子数=Array.new<br>
PostActivity.order_by(:likes_count => :desc).每做 |pa|<br>
帖子 << pa.post<br>
结束
这对我有用
我有 Postactivity
模型,它有 post_id
作为 Post 模型(has_one 关系)的外键,这个 Postactivity
模型有喜欢数组。
如何按 likes
对 Post
模型进行排序?
class Post
has_one :postactivity, foreign_key: :post_activity_id, class_name:"PostActivity"
end
class PostActivity
field :likes, type: Array
belongs_to :post, foreign_key: :post_id, class_name: "Post"
end
class PostActivity
field :likes, type: Array
field :likes_count, type: Integer, default: 0
belongs_to :post, foreign_key: :post_id, class_name: "Post"
before_save do
self.likes_count = lies.size
end
end
现在您可以按 likes_count
字段对 PostActivity 模型进行排序。
PostActivity.order_by(:likes_count => :desc)
您将对 PostActivity
个实例进行排序。如果您需要 post,可以致电获取:
PostActivity.order_by(:likes_count => :desc).first.post
帖子数=Array.new<br>
PostActivity.order_by(:likes_count => :desc).每做 |pa|<br>
帖子 << pa.post<br>
结束
这对我有用