【问题标题】:Rails and Active Record: SQL EquivalentRails 和 Active Record:SQL 等价物
【发布时间】:2013-02-03 02:56:32
【问题描述】:

我正在尝试为表中的许多记录选择一列。这不会产生我正在寻找的东西。我正在尝试生成的 SQL 等效项是:

SELECT OneColumn FROM Table WHERE ForeignKey = 1

我尝试了 Rails Guide for Active Record 中的许多建议,但都没有奏效。

【问题讨论】:

    标签: sql ruby-on-rails rails-activerecord


    【解决方案1】:

    从 rails 3.2+ 你有 #pluck

    Table.where( ForeignKey: 1 ).pluck( :OneColumn )
    

    如果您因为非常规的列或表名而遇到麻烦,请尝试:

    Table.where( Table.arel_table["ForeignKey"].eq 1 ).pluck( Table.arel_table["OneColumn"])
    

    如果您只想要“低级”SQL 查询,请尝试 #select_all#select_values

    【讨论】:

      【解决方案2】:

      使用pluck:

      Table.where(ForeignKey: 1).pluck(:OneColumn)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-11-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 2015-09-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多