我已遵循教程 https://github.com/kevinkhill/lavacharts在基于 Laravel 5.1 的应用程序中呈现图表。但无法渲染它。它给我错误 LineChart('Stocks') was not found in View。下面是我的 Controller 代码和查看代码。解决此问题需要进行哪些更改?
图表 Controller .php
public function generatecharts()
{
$lava = new Lavacharts;
$stocksTable = $lava->DataTable();
$stocksTable->addDateColumn('Day of Month')
->addNumberColumn('Projected')
->addNumberColumn('Official');
// Random Data For Example
for ($a = 1; $a < 30; $a++)
{
$rowData = array(
"2014-8-$a", rand(800,1000), rand(800,1000)
);
$stocksTable->addRow($rowData);
}
$Chart = $lava->LineChart('Stocks')
->setOptions(array(
'datatable' => $stocksTable,
'title' => 'Stock Market Trends'
));
return view('pages.analytics');
}
分析.blade.php
@extends('layouts.app')
@section('title') analytics:: @parent @stop
@section('content')
<div class="row">
<div class="page-header">
<h2>Welcome to analytics</h2>
</div>
</div>
<div id="stock-div"></div>
echo $lava->render('LineChart', 'Stocks', 'stock-div');
@linechart('Stocks', 'stocks-div');
@endsection
最佳答案
1) 它在 documentation 中说明如果您使用的是 Laravel,则需要更改
$lava-> to \Lava:: (the slash is important)
2) 实际上这行代码:
echo $lava->render('LineChart', 'Stocks', 'stock-div');
相当于这一行:
@linechart('Stocks', 'stocks-div');
所以你在这里有一个重复的代码(只删除一行)。
您有 3 个选项可以放在您的 View 中:
您可以使用 PHP 标签:
<?php echo \Lava::render('LineChart', 'Stocks', 'stock-div'); ?>
或者你可以使用这个:
{!! \Lava::render('LineChart', 'Stocks', 'stock-div') !!}
或者这个简化版
@linechart('Stocks', 'stocks-div');
解决方法:
ChartController.php
public function generatecharts()
{
$stocksTable = \Lava::DataTable();
$stocksTable->addDateColumn('Day of Month')
->addNumberColumn('Projected')
->addNumberColumn('Official');
// Random Data For Example
for ($a = 1; $a < 30; $a++)
{
$rowData = array(
"2014-8-$a", rand(800,1000), rand(800,1000)
);
$stocksTable->addRow($rowData);
}
$Chart = \Lava::LineChart('Stocks')
->setOptions(array(
'datatable' => $stocksTable,
'title' => 'Stock Market Trends'
));
return view('pages.analytics');
}
analytics.blade.php
@extends('layouts.app')
@section('title') analytics:: @parent @stop
@section('content')
<div class="row">
<div class="page-header">
<h2>Welcome to analytics</h2>
</div>
</div>
<div id="stock-div"></div>
{!! \Lava::render('LineChart', 'Stocks', 'stock-div') !!}
@endsection
关于php - 无法在使用 Lavacharts 创建的 Laravel 5.1 中呈现折线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34306619/