【发布时间】:2010-04-06 20:44:36
【问题描述】:
如果你构建这样的投影:
t = Arel::Table.new(:projects)
ps = t.project(t[:id].as(:snark))
如何获得名为 :snark 的结果列?
【问题讨论】:
标签: ruby-on-rails ruby arel
如果你构建这样的投影:
t = Arel::Table.new(:projects)
ps = t.project(t[:id].as(:snark))
如何获得名为 :snark 的结果列?
【问题讨论】:
标签: ruby-on-rails ruby arel
由于您使用的是 Arel Core 而不是活动记录(将来会首选),因此您必须了解引擎背后发生了什么。根据您调用 .each 还是 .first,您将返回一个 Arel::Row(s) 数组或单个 Arel::Row(分别)
Arel::Row 至少包含三个部分。关系、标题和正文(元组)。这些是关系代数的原理。
t = Arel::Table.new(:projects)
ps = t.project(t[:id].as(:snark)).first
#should do the trick and return an Arel::Row
干杯
【讨论】: