将sql查询转换为Active Record

时间:2017-01-30 21:29:15

标签: ruby-on-rails ruby-on-rails-4

我是ROR技术的新手。如果有人可以帮我将下面的SQL查询转换为Active Record rails

ActiveRecord::Base.connection.execute("UPDATE users SET score = score + #{total_score} WHERE users.event_id = #{event_id} AND (team_players @> ARRAY[1]::integer[])")

尝试更新users.score表并在条件匹配时添加total_score(变量)。

1 个答案:

答案 0 :(得分:1)

这是Rails设置,但我发现它比你的代码更清晰。

User.where(event_id: event_id)
  .where('team_players @> ARRAY[1]::integer[]')
  .update_all("score = score + #{total_score}")