ruby-on-rails - Ruby on Rails Select As 不起作用

标签 ruby-on-rails select subquery

我试图让“选择为”查询语句起作用,但不断收到错误消息,并且不确定为什么它不起作用。根据 API 文档,格式是正确的。

User.select("firstname as fname")

结果是:
  User Load (1.7ms)  SELECT firstname as fname FROM "users"
 => #<ActiveRecord::Relation [#<User id: nil>, #<User id: nil>]

但是,如果我使用:
User.select(:firstname)

我得到:
  User Load (2.8ms)  SELECT "users"."firstname" FROM "users"
 => #<ActiveRecord::Relation [#<User id: nil, firstname: "John">, #<User id: nil, firstname: "Brian">,

所以我可以从查询中看到为什么它没有返回结果,但我不明白为什么它会创建不正确的查询。 (我需要使用 select as on 的实际查询比这个查询更复杂,但我试图使用更简单的查询来试图找出它无法正常工作的原因。

我需要使用 select 作为查询的原因是因为我有来自两个非常不同的表的两个单独的对象,我需要将它们连接在一起并更改其中一个列名,以便我可以按该列进行排序。我不确定在组合对象之前是否有更简单的方法来更改名称。

谢谢!

最佳答案

您可以使用 alias_attribute :firstname, :fname在模型中然后使用 User.select(:fname)在 Controller 中也是如此。

关于ruby-on-rails - Ruby on Rails Select As 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535124/

相关文章:

sql - 将 SQL 重写为 JOINS 而不是子查询

ruby-on-rails - 字母替换的更好选择

ruby-on-rails - 如何在ActionMailer中捕获错误异常

mysql - 尝试创建复杂 SQL 查询的新手 SQL 用户

sql - 将嵌套查询转换为联接

mysql - 使用子查询与 LEFT JOIN 一起选择 MAX 值

ruby-on-rails - 查看 heroku 上的数据库

ruby-on-rails - Apache+Passenger - Apache 运行;但不响应请求

javascript - 向多个选择js添加许多选项时出现问题

php - 多个 where 子句 php