首页 > 解决方案 > Rails 5 Left Outer Join 与 WHERE 查询相结合

问题描述

我的User模型有以下查询:

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

但是我只想查询user_taskswhere status: 'approved'

以下未成功查询 user_tasks 表:

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

标签: mysqlruby-on-railsactiverecord

解决方案


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

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

如果这不起作用,请运行to_sql您的查询并编辑您的问题并在那里添加生成的 sql,以便我们查看它:)


推荐阅读