代码之家  ›  专栏  ›  技术社区  ›  waynard

Rails 5左外连接与WHERE查询相结合

  •  -1
  • waynard  · 技术社区  · 6 年前

    我对我的 User 型号:

    def self.leaders
      self.left_joins(:user_tasks)
        .group(:id)
        .order("COUNT(user_tasks.id) DESC")
    end
    

    然而,我只想查询 user_tasks 哪里 status: 'approved'

    以下操作无法成功查询user\u tasks表:

    def self.leaders
      self.left_joins(:user_tasks)
        .where(status: 'approved')
        .group(:id)
        .order("COUNT(user_tasks.id) DESC")
    end
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   Taryn East    6 年前

    是否尝试在where子句中添加相关表名?

    .where("user_tasks.status" => 'approved')
    

    如果此操作不起作用,请运行 to_sql 在您的查询中,编辑您的问题,并在其中添加生成的sql,以便我们可以查看:)