如何检索数据库sql数据并存储到数组中的哈希

时间:2014-08-28 02:15:07

标签: ruby-on-rails

我在数据库中有一个表:

| id | param1 | param2 | param3 | param4 | param5 |

| 1 | value11 |值12 |值13 | 18 | value15 |

| 2 | value21 |值22 |值23 | 17 | value25 |

| 3 | value31 | value32 | value33 | 10 | value35 |

现在我想从数据库,param2和param4中检索数据,并通过param4对数据进行排序

@data={

'0'=>{
     'param2'='value32',
     'param4'='value34'
   }

'1'=>{
     'param2'='value22',
     'param4'='value24'
   }

'2'=>{
     'param2'='value12',
     'param4'='value14'
   }

}

我打算做的是对数据库进行排序并将排序后的结果存储在变量

遍历此排序结果并检索数据,另存为数组中的哈希值。

但我不知道我怎么能这样做(dun知道ruby语法很好)

提前致谢

1 个答案:

答案 0 :(得分:0)

您的问题代码无效,并且与您描述的意图不完全一致。我假设你是在追求这样的事情:

@data=[
  { param2: 'value32',
    param4:'value34' },
  { param2:'value22',
    param4:'value24' },
  { param2: 'value12',
    param4: 'value14'}
]

可以通过以下方式获得:

@user.employees.pluck(:id, :name).inject([]){ |result, element|
  result.insert(-1, {param2:  element[0], param4: element[1}) 
}

如果没有,您应该能够根据您的需要调整它。了解注射,它真棒。我最喜欢的描述是excellent tutorial by Jay Fields