wdh*_*ard 0 ruby arrays ruby-on-rails multidimensional-array
我有一个返回2d数组的查询,但希望它返回1d数组结果.鉴于:
sql = "SELECT `id` FROM things WHERE other_id = 8" ids = ActiveRecord::Base.connection.execute(sql).to_a
ids 等于
[[1],[2],[3],[4],[5],[9]....]
我正在使用map创建一个新数组,但它超过5000条记录非常慢.获取以下格式的最快方法是什么:
[1,2,3,4,5,9...]
你可以这样做
sql = "SELECT `id` FROM things WHERE other_id = 8"
ids = ActiveRecord::Base.connection.execute(sql).to_a.flatten
Run Code Online (Sandbox Code Playgroud)
更多Rails方式是使用#pluck如下: -
Thing.where(other_id: 8).pluck(:id)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
274 次 |
| 最近记录: |