You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.6中在Blade模板渲染多个Chart.js图表失败问题

解决Laravel 5.6中使用laravel-chartjs添加多个图表失败的问题

我来帮你梳理下在Blade模板里添加多个图表失败的常见原因和修复方案,毕竟我之前也踩过这个包的不少坑😉

核心问题排查与修复步骤

1. 图表名称必须唯一

这个包的每个图表实例都需要独一无二的name属性,如果多个图表共用同一个名字,后面的会直接覆盖前面的,最终只能显示一个甚至全部失效。

比如你当前代码里用了name('lineChartTest'),第二个图表一定要换个名字:

// 第一个图表:收集的硬币数据
$chartCoins = app()->chartjs
    ->name('lineChartCoins')
    ->type('line')
    ->size(['width' => 400, 'height' => 200])
    ->labels($date)
    ->datasets([
        [
            "label" => "Gesammelte Coins",
            'backgroundColor' => "rgba(38, 185, 154, 0.31)",
            'borderColor' => "rgba(38, 185, 154, 0.7)",
            "pointBorderColor" => "rgba(38, 185, 154, 1)",
            "pointBackgroundColor" => "#fff",
            'data' => $coinCollectionData // 替换成你的真实数据数组
        ]
    ]);

// 第二个图表:可以是其他类型的数据,比如柱状图
$chartAnother = app()->chartjs
    ->name('barChartOther')
    ->type('bar')
    ->size(['width' => 400, 'height' => 200])
    ->labels($otherDates)
    ->datasets([
        [
            "label" => "其他统计数据",
            'backgroundColor' => "rgba(255, 99, 132, 0.31)",
            'borderColor' => "rgba(255, 99, 132, 0.7)",
            'data' => $otherStatsData // 替换成你的真实数据数组
        ]
    ]);

2. Blade模板渲染要对应正确

在Blade里渲染时,要确保每个图表都单独调用render()方法,包会自动生成以图表名为ID的canvas容器,所以不要手动修改容器ID:

<div class="chart-wrapper mb-4">
    {!! $chartCoins->render() !!}
</div>

<div class="chart-wrapper">
    {!! $chartAnother->render() !!}
</div>

3. 补全残缺的配置项

从你给出的代码片段看,pointBorderColor的值没写完,这种语法错误会直接导致JS加载失败,图表根本渲染不出来。一定要确保所有配置项的语法完整,比如rgba的四个参数要写全:

"pointBorderColor" => "rgba(38, 185, 154, 1)", // 第四个参数是透明度,必须写

4. 确认Chart.js依赖加载正常

laravel-chartjs依赖Chart.js库,Laravel5.6对应的包版本适配Chart.js 2.x,别用太高版本。可以在Blade的页面底部添加CDN链接确保加载:

<script src="https://cdn.jsdelivr.net/npm/chart.js@2.9.4/dist/Chart.min.js"></script>

如果还是不行,打开浏览器开发者工具(F12)看Console面板的JS错误,通常能直接定位到具体问题,比如数据为空、语法错误之类的~

内容的提问来源于stack exchange,提问作者Cem Flav

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:40:41