Rails 5中,可以使用ActiveRecord和PostgreSQL数据库来返回关联计数大于0的记录。具体实现方法如下:
has_many
方法来定义关联关系:class User < ApplicationRecord
has_many :posts
end
joins
方法和group
方法来实现。在这个例子中,我们想要返回至少有一篇帖子的用户记录:users_with_posts = User.joins(:posts).group('users.id').having('COUNT(posts.id) > 0')
上述代码中,joins(:posts)
表示通过关联关系连接User和Post模型,group('users.id')
表示按照用户ID进行分组,having('COUNT(posts.id) > 0')
表示只返回关联计数大于0的记录。
users_with_posts.each do |user|
puts user.name
end
以上就是使用Rails 5和PostgreSQL数据库返回关联计数大于0的记录的方法。
领取专属 10元无门槛券
手把手带您无忧上云