Asked Dec 1st, 2018 5:53 AM 136 0 1
  • 136 0 1
0

câu truy vấn trong laravel

Share
  • 136 0 1

Em đang làm thống kê đơn hàng bằng dữ liệu bản đồ chart

Theo từng ngày ví dụ 1 ngày có bao nhiêu đơn hàng đơn hàng được hiển thị theo giờ chẳng hạn ngày đấy có 2 đơn hàng vào lúc 12h với 15h, dữ liệu ở trục x sẽ hiển thị tất cả số giờ trong 1 ngày, nếu k có đơn hàng thì hiện 0 đơn hàng, nếu có đơn hàng thì hiện tổng các đơn hàng trong giờ đó

đơn hàng theo tháng, mỗi ngày trong tháng có báo nhiêu đơn hàng, 1 tháng có 30 ngày thì hiển thị tất cả 30 ngày, ngày nào k có đơn hàng thì hiện 0 đơn hàng, ngày nào có thì hiển thị tổng tất cả đơn hàng trong ngày đó

đơn hàng theo năm

giúp em với ạ, em bí quá

1 ANSWERS


Answered Dec 3rd, 2018 1:24 PM
Accepted
0

Em nên có một bảng là hourly_order_logs, daily_order_logs. Cứ mỗi giờ, mỗi ngày thì em chạy cronjob để cập nhật số liệu vào các bảng ý, xem trong giờ trước, hay ngày hôm trước có bao nhiêu đơn hàng. Ví dụ như vào lúc 13:00 phút, job của em sẽ được chạy, và lưu vào bảng hourly_order_logs với thông tin là

id day hour order_count created_at updated_at
11 2018-12-03 11 2 2018-12-03 12:00:01 2018-12-03 12:00:01
12 2018-12-03 12 4 2018-12-03 13:00:01 2018-12-03 13:00:01

tương tự với thống kê theo ngày.

Khi cần in ra biểu đồ, thì em chỉ cần query trong các bảng log này thôi, chứ không cần phải tính toán phức tạp để đi đếm số order theo từng giờ, từng ngày nữa 😄

Share