2015-12-16 40 views
3

我按照教程https://github.com/kevinkhill/lavacharts在我的應用程序中基於Laravel 5.1渲染了圖表。但無法呈現它。它給我錯誤LineChart('Stocks')在查看未找到。以下是我的控制器代碼&查看代碼。需要進行哪些更改才能解決此問題?無法渲染使用Lavacharts創建的Laravel 5.1中的LineChart

ChartController.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'); 

} 

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 

回答

4

1)在documentation指出,如果你正在使用Laravel,您需要更改

$lava-> to \Lava:: (the slash is important) 

2)其實這行代碼:

echo $lava->render('LineChart', 'Stocks', 'stock-div'); 

相當於該行:

@linechart('Stocks', 'stocks-div'); 

所以,你有一個重複的代碼在這裏(只要刪除一行)。

你有3個選擇把你的觀點:

您可以使用PHP標籤:

<?php echo \Lava::render('LineChart', 'Stocks', 'stock-div'); ?> 

,或者您可以使用此:

{!! \Lava::render('LineChart', 'Stocks', 'stock-div') !!} 

或該簡化版本

@linechart('Stocks', 'stocks-div'); 

所以lution:

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 
+0

什麼在Laravel 4.2嗎? – Vagabond

1

這裏是LAVACHARTS 3.0和5.2 LARAVEL

控制器CODE

$stocksTable = \Lava::DataTable(); 
    $stocksTable->addDateColumn('Day of Month') 
     ->addNumberColumn('Projected') 
     ->addNumberColumn('Official'); 

    // Random Data For Example 
    for ($a = 1; $a < 30; $a++) { 
     $stocksTable->addRow(["2014-8-$a", rand(800, 1000), rand(800, 1000)]); 
    } 

    //DON'T pass $Chart object to view, you get it via its label 
    //options here: http://lavacharts.com/#datatables 
    $Chart = \Lava::LineChart('this_is_the_label', $stocksTable, [ 
     'title' => 'This works in laravel 5.2', 
     'fontSize' => 24, 
    ]); 

查看

<div id="stock-div"></div> 
{!! \Lava::render('LineChart', 'this_is_the_label', 'stock-div') !!}