【发布时间】:2017-12-29 10:03:10
【问题描述】:
我有一个名为横幅的表格,其列 id (bigint) 和 click (bigint) 和 user_id (bigint)
当我使用以下请求时,在控制台甚至控制器中:
Banner.select("sum(click) as clicks").where(user_id: 5)
我明白了:
=> #<ActiveRecord::Relation [#<Banner id: nil>]>
我在 phppgadmin SQL 中复制了相同的结果请求:
SELECT sum(click) as clicks FROM "banners" WHERE "banners"."user_id" = 5
它可以工作,但有活动记录它不能!!?
Rails 版本:5.1.4
更新
我试过Banner.select("sum(id)"),它给了我=> #<ActiveRecord::Relation [#<Banner id: nil>]>
使用 users 表:User.select("sum(id)") 它给出:=> #<ActiveRecord::Relation [#<User id: nil, sum: 0.1e1>]>
这很奇怪,因为它适用于一个表而不适用于其他表...我什至切换到另一个项目并尝试了不同的表,但我得到了相同的行为。
【问题讨论】:
-
尝试使用
Banner.select("sum(click) as clicks").where(user_id: 5).first.clicks访问 -
@Manishh 也不起作用 :( 我用更多信息更新了我的问题
-
确保在这两种情况下使用相同的
database,也可以尝试关注Banner.where(user_id: 5).sum(:click)
标签: ruby-on-rails activerecord ruby-on-rails-5