查询Rails中的哈希列

时间:2015-03-30 08:57:10

标签: mysql ruby-on-rails ruby hash rails-activerecord

我的表table_1中有一个哈希列hash_column。

在table_1.rb

serialize :hash_column, Hash

列中存储的值为

            hash_column
record1 => { index1 => '2'} 
record2 => { index2 => '3' } 
record3 => { index1 => '4'}

我希望得到hash_column&key;关键字是index1的所有记录。 我现在的方式是

 table_1.where("hash_column LIKE ?", "%index1%" )

这很好用。但是有没有一种正确的方法来使用Rails中的键和值来查询哈希列?

ps:我使用的是mysql数据库

1 个答案:

答案 0 :(得分:0)

使用SQL无法完成。您无法查询Hash,因为它在yaml列中被序列化为json(或text} ..所以基本上您的数据库不知道结构的JSON_EXTRACT列,因为它只是文本。

您可以尝试为列

使用其中一种JSON类型

https://dev.mysql.com/doc/refman/5.7/en/json.html

并使用where clause或其他功能,并在$(document).ready(function() { $(".my_image_clas").hover( function() { $(this).addClass("Hover"); }, function() { $(this).removeClass("Hover"); } ); }); .my_image_clas.Hover { border: 3px solid blue; }

中使用它

更多信息 https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html