代码之家  ›  专栏  ›  技术社区  ›  James Moore

你如何使用阿雷尔的方法?

  •  4
  • James Moore  · 技术社区  · 14 年前

    如果构建这样的投影:

    t = Arel::Table.new(:projects)
    ps = t.project(t[:id].as(:snark))
    

    如何获得名为snark的结果列?

    1 回复  |  直到 14 年前
        1
  •  5
  •   Snuggs    14 年前

    由于您使用的是AREL核心而不是活动记录(这在将来是首选),因此您必须了解发动机后面发生了什么。取决于您是否调用.each或.first,您将首先返回一个AREL::row数组或一个AREL::row数组(分别)

    AREL::行至少由三部分组成。关系、头和主体(元组)。这些是关系代数的原理。

    t = Arel::Table.new(:projects)
    ps = t.project(t[:id].as(:snark)).first 
    #should do the trick and return an Arel::Row
    

    干杯