gpt4 book ai didi

ruby-on-rails - named_scope 至少有一个在 has_many 关联中

转载 作者:数据小太阳 更新时间:2023-10-29 08:02:05 24 4
gpt4 key购买 nike

我有一个用户模型 has_many :posts。如果我想创建一个 named_scope 来查找至少有一篇帖子的用户,这是否正确?

   named_scope :at_least_one_post, :joins => :posts, :group => "users.id"

还是我应该更进一步做

   named_scope :at_least_one_post, :joins => :posts, :group => "users.id", :having => "COUNT(posts.id) > 0"

最佳答案

其实我觉得没有必要分组或者加条件。因为您使用的是 :joins,所以会执行 INNER JOIN,因此只会拉取有帖子的用户。如果您要执行 :include,那将是 LEFT JOIN 并且您需要添加一个 HAVING 子句。

所以你只需要

named_scope :at_least_one_post, :joins => :posts

关于ruby-on-rails - named_scope 至少有一个在 has_many 关联中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3146466/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com