Ruby on rails 在活动记录轨道上查找哈希属性值
我正在用RubyonRail开发应用程序。在我当前的项目中,我有一个活动记录模型,如下所示:Ruby on rails 在活动记录轨道上查找哈希属性值,ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我正在用RubyonRail开发应用程序。在我当前的项目中,我有一个活动记录模型,如下所示: <Site id: 6241, collection_id: 7, name: "ABC", properties: {"31"=>20}> <Site id: 6242, collection_id: 7, name: "ABC", properties: {"10"=>20}> <Site id: 6243, collection_id: 7, name:
<Site id: 6241, collection_id: 7, name: "ABC", properties: {"31"=>20}>
<Site id: 6242, collection_id: 7, name: "ABC", properties: {"10"=>20}>
<Site id: 6243, collection_id: 7, name: "ABC", properties: {"11"=>30}>
20}>
20}>
30}>
但是,我想找到具有键为“31”且值为20的属性的站点,但我找不到比较此哈希属性的方法。那么您有什么方法可以向我推荐吗?如果列类型
hstore
和dbpostgres
您可以通过以下查询进行搜索:
Site.where("properties @> hstore(?, ?)", 'key', 'value')
我也使用mysql,这将起作用:
Site.where(属性:{“31”=>20}.to_yaml)
同样假设您的列类型是hstore,您可以:
Site.where(属性:{key:“value”})
column typeproperties
是hstore
?是的,它存储为散列。我现在正在使用MYSQL,我尝试了这个命令,但它不起作用。