Bạn đã nghĩ về bảng lịch ? Mặc dù trang web đã rất cũ nhưng nó vẫn mô tả việc sử dụng bảng như vậy rất tốt:
Vì vậy, trong trường hợp của bạn, bạn sẽ tạo một bảng như vậy và sau đó chỉ cần kết hợp nó với Company
của bạn mô hình.
Dẫn đến một truy vấn như:
CalendarDay.where(year: Date.current.year).joins(:companies).group('YEAR(companies.created_at)').count