我正在使用 Rails 5.2。
我想提取一个枚举字段并获取一个整数数组。
class Foo < ApplicationRecord
enum bar: { val1: 1, val2: 2 }
end
Foo.pluck(:bar) #=> ['val1', 'val2']
Foo.pluck('foos.bar') #=> ['val1', 'val2']
Foo.pluck(:bar_before_type_cast) #=> DB error!
Run Code Online (Sandbox Code Playgroud)
我可以这样写Foo.pluck(:bar).map {|bar| Foo.bars[bar]},但我想写得更短一些。
如何实现这一目标?
您可以使用别名:
Foo.pluck('bar AS f')
Run Code Online (Sandbox Code Playgroud)
它将返回一个整数数组。
它基于文档中的以下内容工作:
Pluck 返回一个属性值数组,该数组经过类型转换以匹配所提取的列名称(如果可以推断出它们)。
由于您返回的值无法推断,因此将返回其“数据库值”。
| 归档时间: |
|
| 查看次数: |
1084 次 |
| 最近记录: |