【发布时间】:2013-04-04 22:51:28
【问题描述】:
我正在从我的 ruby 文件中的数据库中获取一些数据,如下所示:
@main1= $connection.execute("SELECT * FROM builds
WHERE platform_type LIKE 'TOTAL';")
@main2= $connection.execute("SELECT * FROM builds
WHERE platform_type NOT LIKE 'TOTAL';")
完成此操作后,我正在对这些结果执行散列和一堆其他东西。需要明确的是,这不会返回一个数组,而是返回一些 mysql2 类型的对象。所以我只是将它映射到 2 个数组以确保安全:
@arr1 = Array.new
@arr1 = @main1.map
@arr2 = Array.new
@arr2 = @main2.map
有什么方法可以避免执行 2 个不同的查询,并通过只执行一个查询来获得 2 个不同数组中的所有结果。我基本上想将结果分成 2 个数组,第一个具有 platform_type = TOTAL,其他所有内容都在另一个中。
【问题讨论】:
-
你说你在使用 Rails,但你没有使用 ORM?有什么特别的原因吗?你的
@arr = Array.new电话也是多余的。
标签: ruby-on-rails ruby ruby-on-rails-3 mysql2