php - 无法在使用 Lavacharts 创建的 Laravel 5.1 中呈现折线图

标签 php laravel laravel-5.1

我已遵循教程 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/

相关文章:

php - PHP 源代码中用于递增字符串的代码在哪里?

php - 使用良好的 SQL 查询而不是 PHP 代码

php - 将 WordPress 站点复制到本地主机

php - 如何在函数中使用外部变量?

PHP 我的时区一周的第一天不正确

php - 上传图片时无法在 laravel 5.1 中创建目录?

Laravel 5 - 编辑页面中的设计和数据问题

php - 将值添加到数据透视表 Laravel

laravel - OctoberCMS 或纯 Laravel

php - Laravel 5.1 与 Asgard CMS,查询执行时间长