未定义的变量:Laravel中的电池

时间:2019-06-16 05:02:29

标签: laravel eloquent laravel-5.8

我已经在Laravel中创建了一个饼状图,该饼状图工作正常,但是当我在项目中实现它时会出现错误。

  

未定义变量:电池(查看:   D:\ xampp \ htdocs \ laravel \ webpro3 \ resources \ views \ showrecord.blade.php)

<script type="text/javascript">
    var analytics = <?php echo $Battery; ?>
    google.charts.load('current', {'packages':['corechart']});
    google.charts.setOnLoadCallback(drawChart);

路线

Route::resource('showrecord','ShowrecordController');

控制器

public function piechart()
{
    $data = DB::table('importpdfs')
        ->select(
            DB::raw('Battery as Battery'),
            DB::raw('count(*) as number'))
        ->groupBy('Battery')
        ->where('ST', '>=', 7)
        ->orWhere('SAS', '>=', 120)
        ->orWhere('NPR', '>=', 90)
        ->get();

    $array[] = ['Battery', 'Number'];

    foreach ($data as $key => $value) {
        $array[++$key] = [$value->Battery, $value->number];
    }

    return view('showrecord')->with('Battery', json_encode($array));
}

我该如何解决?

1 个答案:

答案 0 :(得分:0)

以这种方式尝试。

在piechart()方法中,将返回行更改为仅返回数据:

public function piechart()
{
    // ...
    return json_encode($array);
}

然后在index()方法中,将piechart()的返回数据分配给一个变量,然后返回该变量,并在view()中在compact()中添加“ Battery”:

public function index()
{
    // ...
    $Battery = $this->piechart();
    return view('showrecord', compact('pdfdata', 'importpdfs', 'Battery'));
}