Google GeoChart (библиотека Lavacharts) -> AddRow / AddRows не отображает никаких результатов на карте, несмотря на создание массива значений - PullRequest
0 голосов
/ 02 января 2019

Проблема:

Библиотека GeoChart Laravel для визуализации Визуализация Google -> AddRow / AddRows не отображает никаких результатов на карте, несмотря на создание массива значений.

Код контроллера (код создания диаграммы)

$countryIso = ['US','CA','BR']; 
foreach ($countryIso as $isocode) {
            $productDDP[$isocode] = $this->product->priceCalc($product = $product, $countryIso = $isocode);
        }

Просмотр результатов: использование разных вариантов кода и выдача ошибок:

Если я напечатаю результат print_r($productDDP);

отображает следующий код:

Array
(
    [US] => 900
    [CA] => 1,276
    [BR] => 1,215
)

Я пробовал разные подходы:

с -> addRows (массив ($ productDDP)); «Неверное количество ячеек должно быть меньше или равно количеству столбцов».

с -> addRow (массив ($ productDDP)); или используя -> addRow ([$ productDDP]);

Аргумент 3, передаваемый в Khill \ Lavacharts \ DataTables \ Cells \ Cell :: __ construct (), должен иметь тип массива, строка должна быть задана

с -> addRows ($ productDDP);

Аргумент 1, передаваемый в Khill \ Lavacharts \ DataTables \ DataTable :: addRow (), должен иметь тип массива или нуль, заданная строка

с -> addRow (массив ([$ productDDP]))

Визуализация диаграммы, но на карте не задано значение.

Вопросы?

- Что я должен использовать для таких массивов?

- addRow или addRows?.

- В каком формате мы должны передавать данные массива для addRow / s?

Учитывая, что я передал все возможные варианты в addrow (), я не знаю, является ли это проблемой или проблемой кодирования.

любая помощь приветствуется.

1 Ответ

0 голосов
/ 04 января 2019

массив имеет неправильный формат
во-первых, вы создаете один массив с парами ключ / значение

Array
(
    [US] => 900
    [CA] => 1,276
    [BR] => 1,215
)

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

что-то вроде ...

Array
(
    [0] => Array
        (
            [0] => US
            [1] => 900
        )

    [1] => Array
        (
            [0] => CA
            [1] => 1276
        )

    [2] => Array
        (
            [0] => BR
            [1] => 1215
        )

)

попробуй построить массивы вот так ...

$countryIso = ['US','CA','BR'];
$productDDP = [];
foreach ($countryIso as $isocode) {
    $productDDP[] = array($isocode, $this->product->priceCalc($product = $product, $countryIso = $isocode));
}

затем используйте addRows

addRows($productDDP);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...