如何解决如何选择Rails枚举的字段并获取整数数组?
我正在使用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!
我可以像Foo.pluck(:bar).map {|bar| Foo.bars[bar]}
那样写,但是我想写得更短些。
如何实现?
解决方法
您可以使用别名:
Foo.pluck('bar AS f')
它将返回整数数组。
它基于以下文档中的内容工作:
Pluck返回类型转换为匹配的属性值数组 摘录的列名(如果可以推导的话)。
由于您要返回的值无法推断,因此将返回其“数据库值”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。