Ruby on rails 如何检查嵌套数组中是否包含值
在postgresRuby on rails 如何检查嵌套数组中是否包含值,ruby-on-rails,json,rails-activerecord,postgresql-9.1,Ruby On Rails,Json,Rails Activerecord,Postgresql 9.1,在postgresjson字段中,如何使用ActiveRecord查询匹配item[“editions”]包含23的所有数组项 Topic.create!( tree: [ {
json
字段中,如何使用ActiveRecord查询匹配item[“editions”]
包含23
的所有数组项
Topic.create!(
tree: [
{
"title" => "Title 1",
"description" => "Description",
"editions" => [23],
}
{
"title" => "Title 2",
"description" => "Description",
"editions" => [12],
}
]
)
你有一些额外的逗号和一些丢失的逗号:i;我将对阵列进行如下整理:
myarray = [
{
"title" => "Title 1",
"description" => "Description",
"editions" => [23]
},
{
"title" => "Title 2",
"description" => "Description",
"editions" => [12]
}
]
=> [{"title"=>"Title 1", "description"=>"Description", "editions"=>[23]}, {"title"=>"Title 2", "description"=>"Description", "editions"=>[12]}]
matching = myarray.select{|hash| hash["editions"].include?(23)}
=> [{"title"=>"Title 1", "description"=>"Description", "editions"=>[23]}]
这就是使用现有数据结构的方法,该数据结构是数组和散列的混合体。如果您想知道如何通过sql查询执行此操作,您需要解释如何在数据库中实际存储此数据,并提供一些示例。您有一些额外的逗号和一些缺少的逗号:i;我将对阵列进行如下整理:
myarray = [
{
"title" => "Title 1",
"description" => "Description",
"editions" => [23]
},
{
"title" => "Title 2",
"description" => "Description",
"editions" => [12]
}
]
=> [{"title"=>"Title 1", "description"=>"Description", "editions"=>[23]}, {"title"=>"Title 2", "description"=>"Description", "editions"=>[12]}]
matching = myarray.select{|hash| hash["editions"].include?(23)}
=> [{"title"=>"Title 1", "description"=>"Description", "editions"=>[23]}]
这就是使用现有数据结构的方法,该数据结构是数组和散列的混合体。如果您想知道如何通过sql查询执行此操作,则需要解释如何在数据库中实际存储此数据,并提供一些示例