Rails 5.2 - Activerecord .select() 在调用 .count 时导致错误
Rails5.2 - Active Record .select() causing error when .count is called
如何将另一列添加到作用域并仍然能够调用 .count、.find、.where 等
User.all.select('users.*,"one" as one').count
结果:
(1.3ms) SELECT COUNT(users.*,"one" as one) FROM "users"
Traceback (most recent call last):
1: from (irb):7
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error at or near "as")
LINE 1: SELECT COUNT(users.*,"one" as one) FROM "users"
^
: SELECT COUNT(users.*,"one" as one) FROM "users"
User.all.select('users.*,"one" as one').count(:all)
和
User.all.select('users.*,"one" as one').count(:id)
两者都有效,因为它指定了 SQL 代码应该依赖什么。
如何将另一列添加到作用域并仍然能够调用 .count、.find、.where 等
User.all.select('users.*,"one" as one').count
结果:
(1.3ms) SELECT COUNT(users.*,"one" as one) FROM "users"
Traceback (most recent call last):
1: from (irb):7
ActiveRecord::StatementInvalid (PG::SyntaxError: ERROR: syntax error at or near "as")
LINE 1: SELECT COUNT(users.*,"one" as one) FROM "users"
^
: SELECT COUNT(users.*,"one" as one) FROM "users"
User.all.select('users.*,"one" as one').count(:all)
和
User.all.select('users.*,"one" as one').count(:id)
两者都有效,因为它指定了 SQL 代码应该依赖什么。