@Kitaro2

Laravel ChartJs как правильно получить массив из объекта?

Не давно начал изучать фреймворк вопрос :
в контроллере создал переменную которая выводит информацию по месяцам в виде:
[{"month":"July","monthNum":"2018-07","devices":14},{"month":"August","monthNum":"2018-08","devices":2}]

Сам вопрос - как правильно передать данные из переменной $device {"month":"July"} в 'labels'=> ['month'] и $device {"devices":14} в dataset['data' =>[devices]]?
  • Вопрос задан
  • 138 просмотров
Пригласить эксперта
Ответы на вопрос 1
netrox
@netrox
Через AJAX обращаешься к контролеру. Контролер вернёт json и потом на стороне клиента парсишь полученный json.
$.ajax({
            method: 'POST',
            url: 'url',
            success: function (data) {
                var month=[];
                var device=[];
         
                $.each(JSON.parse(data), function(index, report)
                {
                    month.push(report.month)
                });
                $.each(JSON.parse(data), function(index, name)
                {
                    device.push(name.devices)
                });
          
                //Build chart
                var ctx = document.getElementById('chart').getContext('2d');
                regionChart = new Chart(ctx, {
                    // The type of chart we want to create
                    type: 'horizontalBar',
                    dataType:'json',
                    // The data for our dataset
                    data: {
                        labels: month,
                        datasets: [{
                            label: "Chart",
                            data: device,
                        }]
                    },     
                });
            }
        });
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы