gpt4 book ai didi

ruby-on-rails - 在 Rails Controller 中访问 HSTORE 数据

转载 作者:行者123 更新时间:2023-11-29 12:44:35 25 4
gpt4 key购买 nike

所以我设置了一个 postgres 服务器并让它使用 hstore 值。

截至目前,我有一个表书,结构为

name:string data:hstore

我已经创建了一个样本条目来测试:

Book.create(:name => "My First Book", :data => {'author' => 'Kevin', 'pages' => 368})

我已经将数据加载到一个变量中:

@book = Book.where("data ? :key", :key => 'pages')

(只是为了测试,我意识到这个查询没有任何实际用途...)

我将数据打印为 JSON,这工作正常,找到并显示了条目。但是,我想做的是访问,比如说页面,一个 hstore 值。我做了一些研究,发现

@book.data['pages']

但是,当我尝试运行它时,我得到了

undefined method `data' for #<Book::ActiveRecord....

非常感谢任何帮助!

最佳答案

即使只有 1 个值,Active Record where 也会给你一个数组。

你可以做到

@book = Book.where("data ? :key", :key => 'pages')[0]

获取该记录

然后

@book.data

将按需要工作。

如果你可能会得到多条记录,只使用第一个找到的就可以了,你也可以使用:

@book = Book.where("data ? :key", :key => 'pages').first
@book.data

或者只是

@book = Book.where("data ? :key", :key => 'pages').first.data

关于ruby-on-rails - 在 Rails Controller 中访问 HSTORE 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576456/

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