Car*_*ela 1 activerecord ruby-on-rails jsonb
如何从jsonb存储字段中“选择”值?
例如
@model1:
data: {"special_date" => "Wed, 16 Mar 2016 11:20:20 -0700", ....}
@model2:
data: {"special_date" => "Wed, 23 Mar 2016 11:20:20 -0700", ....}
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西
Model.all.select("data -> 'special_date'")
Run Code Online (Sandbox Code Playgroud)
如果您希望稀疏的ActiveRecord模型实例保存数据(而不是数组中的基元),则只需使用select
:
model = Model.select("data -> 'special_date' as special_date'").first
model.id #=> nil
model.special_date = #=> "Wed, 23 Mar 2016 11:20:20 -0700"
Run Code Online (Sandbox Code Playgroud)
如果要从jsonb
列中获取整个记录以及特定数据,则可以链接select
:
model = Model.select('*').select("data -> 'special_date' as special_date").first
model.id #=> 42
model.special_date #=> "Wed, 23 Mar 2016 11:20:20 -0700"
Run Code Online (Sandbox Code Playgroud)
如果根本不需要ActiveRecord实例,请使用pluck:
Model.pluck("data -> 'special_date' as special_date")
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1601 次 |
最近记录: |