chartJS или / и php print_r не работают вместе - PullRequest
0 голосов
/ 18 июня 2019

Итак, я хочу ввести данные для гистограммы из базы данных, я все выяснил, но что-то не работает ...

Вот часть файла представления,

    var barChartData = {
      labels  : {{print_r($action_names, true)}} ,
      datasets: [
        {
          label               : 'Electronics',
          fillColor           : 'rgba(2, 24, 222, 1)',
          strokeColor         : 'rgba(2, 24, 222, 1)',
          pointColor          : 'rgba(2, 24, 222, 1)',
          pointStrokeColor    : '#c1c7d1',
          pointHighlightFill  : '#fff',
          pointHighlightStroke: 'rgba(2, 24, 222, 1)',
          data                : {{print_r($action_count,true)}}
        }
      ]
    }

это не работает, отображается пустой график.

Выход из {{print_r($action_names, true)}} равен ["OBJECT1","OBJECT1","OBJECT3"]

и вывод {{print_r($action_names, true)}} равен [1,2,3]

в том же формате, теперь, если я просто отправляю значения в виде текста, он работает, диаграмма выглядит нормально, но когда я использую переменную, ничего - пусто. Мне нужно использовать переменную, потому что база данных, из которой я получаю данные, будет меняться довольно часто.

Ответы [ 4 ]

0 голосов
/ 20 июня 2019

Вы можете просто использовать функцию implode() для печати данных массива,

 labels : [ 
       {{implode(",", $action_names)}}
    ]

&

 data : [
      {{implode(",", $action_count)}}
    ]
0 голосов
/ 18 июня 2019

Если вы хотите использовать данные в сценарии или что-то в этом роде, вам нужно их избежать, в основном не используйте {{что-то}}, а используйте {!! что-то !!}

0 голосов
/ 18 июня 2019

Определить новый массив javascript из существующего массива php, используя следующий синтаксис:

var labelValues = [<?php echo '"'.implode('","', $php_array).'"' ?>];
0 голосов
/ 18 июня 2019

Вы не можете поставить функцию PHP, как это

labels  : {{print_r($action_names, true)}}
...
data: {{print_r($action_count,true)}}

попробуй изолировать в var

labels  : { {$action_names} }
...
data: { {$action_count} }
...