gpt4 book ai didi

ruby-on-rails - 如何使用 ActiveRecord 仅选择存储在 Postgres 中的部分 json

转载 作者:行者123 更新时间:2023-11-29 11:24:08 24 4
gpt4 key购买 nike

假设我有一个模型 User,它有一个名为 settingsjson 类型的字段。我们假设该字段大致如下所示:

{
color: 'red',
language: 'English',
subitems:
{
item1: true,
item2: 43,
item3: ['foo', 'bar', 'baz']
}
}

如果我执行 User.select(:settings) 我将获得每个用户的所有设置。但我只想获取用户的语言。我都试过了:

User.select("settings -> 'language'")

User.select("settings ->> 'language'")

但这只会返回空对象:

[#<User:0x007f381fa92208 id: nil>,
...]

这有可能吗?如果是 - 我可以只使用 json 还是需要切换到 jsonb

最佳答案

尝试 User.select("settings -> 'language' as user_language")。结果关系中的每个对象都应响应 user_language

关于ruby-on-rails - 如何使用 ActiveRecord 仅选择存储在 Postgres 中的部分 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35313997/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com