问题:
Laravel GeoChart Library到渲染Google Visualization->尽管创建了值数组,但AddRow / AddRows在地图上不呈现任何结果。
控制器代码(图表创建代码)
$countryIso = ['US','CA','BR'];
foreach ($countryIso as $isocode) {
$productDDP[$isocode] = $this->product->priceCalc($product = $product, $countryIso = $isocode);
}
查看结果:使用不同的Code变体并给出错误:
如果我打印print_r($productDDP);
它显示以下代码:
Array
(
[US] => 900
[CA] => 1,276
[BR] => 1,215
)
我尝试了不同的方法:
和-> addRows(array($ productDDP)); “无效的单元格数量,必须小于或等于列数。”
带有-> addRow(array($ productDDP));或使用-> addRow([$ productDDP]);
传递给Khill \ Lavacharts \ DataTables \ Cells \ Cell :: __ construct()的参数3必须为数组类型,给出字符串
和-> addRows($ productDDP);
传递给Khill \ Lavacharts \ DataTables \ DataTable :: addRow()的参数1必须为数组类型,或者为null,给出字符串
与-> addRow(array([$ productDDP]))
渲染图表,但在地图上未设置任何值。
有什么问题吗-我必须使用那种数组?
-addRow或addRows?。
-我们必须以哪种格式传递addRow / s的数组数据?
考虑到这一点,我将所有可能的变体传递给addrow(),我不知道这是问题还是编码问题。
任何帮助表示赞赏。
答案 0 :(得分:1)
数组格式错误
首先,您要创建一个具有键/值对
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);