【发布时间】:2019-07-26 11:14:11
【问题描述】:
如何将另一列添加到范围,并且仍然能够调用 .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"
【问题讨论】:
-
你要数什么??
-
这是一个简化的例子,但需要多次操作后计算一个范围,添加
select as语句和联合。 -
你可以试试写成
User.all.select("users.*, 'one' as one").count吗? (交换双引号和单引号)。在 PostgreSQL 中,您需要对字符串使用单引号。 -
@GregoryWitek 这给出了同样的错误
-
User.all.select("users.*, 'one' as one").size有效,但可能不是您想要的。
标签: ruby-on-rails postgresql activerecord ruby-on-rails-5.2