Сумма результатов, отфильтрованных по месяцам на диаграмме [LARAVEL] - PullRequest
2 голосов
/ 09 июля 2020

Я сейчас пытаюсь создать диаграмму с диаграммой. js, и я хотел бы получить общее количество продаж за год с шагом в 1 месяц. В настоящее время мне интересно, как разбить количество продаж, которые я совершаю каждый месяц, зная, что у меня есть столбец created_at для каждого заказа. Я знаю, как сделать итоговую сумму за каждый месяц с помощью foreach l oop, но чтобы сократить продажи и поместить итоговую сумму в таблицу, я не понимаю, как я могу это сделать.

Это вот как выглядит моя таблица:

мой стол

Вот как выглядит моя диаграмма:

  moment().locale('fr');
        var canvas = document.getElementById("bellegaiaChart");
        var ctx = canvas.getContext('2d');

        // Global Options:
        Chart.defaults.global.defaultFontColor = 'black';
        Chart.defaults.global.defaultFontSize = 16;

        var data = {
            labels: ["Jan", "Fev", "Mar", "Avr", "Mai", "Juin", "Jui", "Aoû", "Sep", "Oct", "Nov", "Dec"],
            datasets: [{
                label: "Ventes",
                fill: false,
                lineTension: 0.1,
                backgroundColor: "rgba(225,0,0,0.4)",
                borderColor: "red", // The main line color
                borderCapStyle: 'square',
                borderDash: [], // try [5, 15] for instance
                borderDashOffset: 0.0,
                borderJoinStyle: 'miter',
                pointBorderColor: "black",
                pointBackgroundColor: "white",
                pointBorderWidth: 1,
                pointHoverRadius: 8,
                pointHoverBackgroundColor: "yellow",
                pointHoverBorderColor: "brown",
                pointHoverBorderWidth: 2,
                pointRadius: 4,
                pointHitRadius: 10,
                // notice the gap in the data and the spanGaps: true
                data: [65, 59, 80, 81, 56, 110, 40 ,60,55,30,78],
                spanGaps: false,
            }, {
                label: "Nouveaux Clients",
                fill: false,
                lineTension: 0.1,
                backgroundColor: "rgba(167,105,0,0.4)",
                borderColor: "rgb(167, 105, 0)",
                borderCapStyle: 'butt',
                borderDash: [],
                borderDashOffset: 0.0,
                borderJoinStyle: 'miter',
                pointBorderColor: "white",
                pointBackgroundColor: "black",
                pointBorderWidth: 1,
                pointHoverRadius: 8,
                pointHoverBackgroundColor: "brown",
                pointHoverBorderColor: "yellow",
                pointHoverBorderWidth: 2,
                pointRadius: 4,
                pointHitRadius: 10,
                // notice the gap in the data and the spanGaps: false
                data: [10, 20, 60, 95, 64, 78, 90,70,40,70,89, 73],
                spanGaps: false,
            }

            ]
        };

        // Notice the scaleLabel at the same level as Ticks
        var options = {
            scales: {
                yAxes: [{
                    ticks: {
                        beginAtZero:true
                    },
                    scaleLabel: {
                        display: true,
                        labelString: 'Moola',
                        fontSize: 20
                    }
                }]
            }
        };

        // Chart declaration:
        var myBarChart = new Chart(ctx, {
            type: 'line',
            data: data,
            options: options
        });

Эта диаграмма в настоящее время интегрирована в мое представление лезвия. Цель состоит в том, чтобы иметь таблицу, содержащую все итоги продаж за месяц (то есть 12 записей в таблице), чтобы иметь возможность указать ее в данных моей диаграммы.

...