Rails 5 Left Outer Join与WHERE查询结合使用

时间:2018-05-07 23:38:31

标签: mysql ruby-on-rails activerecord

我的User型号上有以下查询:

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

但我只想查询user_tasks status: 'approved'

以下内容未成功查询user_tasks表:

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

1 个答案:

答案 0 :(得分:1)

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

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

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