2013-03-26 17 views
6

Đối với nhóm theo ngày, tôi đã sử dụng phương thức group_by.Ruby On Rails Mongoid Group By

Example: Product.all.group_by {|d| d.created_at } # return Hash 

Nhưng kaminari không hỗ trợ Hash. Tôi sử dụng Mongoid và tôi cần nhóm theo ngày với điều hướng trang (kaminari). Làm thế nào?

+4

Bạn có đề cập đến những câu hỏi liên quan này không? http://stackoverflow.com/questions/5482227/grouping-mongoid-objects-by-day?rq=1 http://stackoverflow.com/questions/7354851/mongoid-group-conditions?rq=1 http://stackoverflow.com/questions/12014009/mongoid-group-by-or-mongodb-group-by-in-rails?rq=1 http://stackoverflow.com/questions/15569469/group -clause-mongoid-rails? rq = 1 –

+0

Bạn sẽ không gọi phương pháp kaminari trước khi group_by? – cpuguy83

Trả lời

1

Kaminari chỉ hỗ trợ đánh số trang trên mảng ví dụ

Kaminari.paginate_array(an_array).page(1).per(10) 

group_by không phải là phương pháp mongoid, phương pháp của nó Array, nó được nhóm tất cả dữ liệu trong bộ nhớ. Để sử dụng tính năng nhóm mông cổ, bạn cần sử dụng bản đồ/giảm mongodb.

Nếu bạn cần kết quả nhóm trong bộ nhớ, và hiển thị kết quả theo dạng xem, bạn cần chuyển băm theo cách thủ công thành Array