【问题标题】:rails view active record group by countrails 按计数查看活动记录组
【发布时间】:2017-09-07 03:55:35
【问题描述】:

我有模态车辆的名称和日期

+----------------------+----------------+
|        title         |     dates      |
+----------------------+----------------+
| BMW X6               |  2017-05-22    | 
| Audi A6              |  2017-05-20    | 
| BMW X6               |  2017-05-20    |   
| Volkswagen Passat B6 |  2017-05-20    | 
| Volkswagen Passat B5 |  2017-05-20    | 
| Audi A6              |  2017-05-22    | 
| Volkswagen Passat B5 |  2017-05-22    | 
+----------------------+----------------+

我想按计数显示日期明智的组 输出表

+----------------------+----------------+--------------+
|        title         |  2017-05-22    |  2017-05-21  |
+----------------------+----------------+--------------+
| BMW X6               |             1  |            1 |
| Audi A6              |             1  |            1 |
| Volkswagen Passat B6 |             0  |            1 |
| Volkswagen Passat B5 |             1  |            1 |
+----------------------+----------------+--------------+

【问题讨论】:

  • 你试过了吗?

标签: ruby-on-rails ruby-on-rails-4 psql


【解决方案1】:

我不确定,但试试这个:

  @dates = []
    @titles = []
    @count = []
    (start_date..end_date).each do |date|
      vehicles = Vehicle.where("DATE(dates) = ?", date)
       vehicles.each do |vehicle|
         res = Vehicle.where("DATE(dates) = ? and title = ?", date, vehicle.title).count
         dates << date
         titles << vehicle.title
         count << res
       end
    end

    <table>
    <tr>
    <th>title</th>
    <% @dates.uniq.each do |date| %>
        <th> <%= date %></th>
    <% end %>   
    </tr>

    <% dates.length.times do |i| %>
        <tr>
        <td><%= @titles[i] %></td>
        <td><%= @count[i] %></td>
        </tr>
     <% end %>
    </table>

【讨论】:

    猜你喜欢
    • 2012-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多