举例:
r = Model.arel_table
s = SomeOtherModel.arel_table
Model.select(r[:id], s[:othercolumn].as('othercolumn')).
joins(:someothermodel)
将产生sql:
`SELECT `model`.`id`, `someothermodel`.`othercolumn` AS othercolumn FROM `model` INNER JOIN `someothermodel` ON `model`.`id` = `someothermodel`.`model_id`
哪个是对的。但是,加载模型时,该属性将othercolumn
被忽略,因为它不是Model
.
它类似于急切加载和includes
,但我不想要所有列,只有指定的列include
是不好的。
必须有一种从其他模型获取列的简单方法吗?我最好让项目作为Model
简单数组/哈希的实例返回