在 Laravel 图表中找不到“ConsoleTVs\Charts\Facades\Charts”类

Pas*_*ath 1 charts highcharts laravel

我正在尝试使用 laravel 渲染包含数据库中数据的图表。但我收到这个错误

    **Class 'ConsoleTVs\Charts\Facades\Charts' not found**
Run Code Online (Sandbox Code Playgroud)

但我已经将所需的提供程序添加到 app.php,

    ConsoleTVs\Charts\ChartsServiceProvider::class,
    'Charts' => ConsoleTVs\Charts\Facades\Charts::class
Run Code Online (Sandbox Code Playgroud)

这是我的控制器,

class DashboardController extends Controller
{
    public function admin()
    {

        $suppliers = SupplierData::all();
        $repcounter= SalesRep::count();
        $totalsales= SalesData::count();
        $totalrevenue=SalesData::sum('total_price');

        $chartdata = SalesData::selectRaw('COUNT(*) as count, YEAR(dateOfSale) year, MONTH(dateofSale) month')
            ->groupBy('year', 'month')
            ->get();
        $chart=Charts::database($chartdata,'bar','highcharts')
            ->title("Sales Details")
            ->elementLabel("Total Sales")
            ->dimensions(1000,500)
            ->responsive(false);

        return view('dashboard', compact('suppliers','repcounter','totalsales','totalrevenue','chart'));
Run Code Online (Sandbox Code Playgroud)

这是我的 html 部分,

 <div>
   {!! $chart->render() !!}
                    </div>
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助解决这个问题吗?

我按照这个视频教程。https://www.youtube.com/watch?v=yAGVB4ZIQ4o

Ija*_*een 6

ConsoleTVs/Charts v6不提供 Facade 方法。

请检查charts.erik.cat/create_charts.html#create-a-chart-class以开始使用ConsoleTVs/Charts v6创建图表

您所关注的视频教程使用的是ConsoleTVs/Charts v5。它确实支持 Facade 方法。

如果您想继续观看视频,您需要将软件包降级。

删除 v6

composer remove consoletvs/charts
Run Code Online (Sandbox Code Playgroud)

并安装 v5

composer require "consoletvs/charts:5.*"
Run Code Online (Sandbox Code Playgroud)

由于您使用的是最新版本的 Laravel,我强烈建议您使用最新版本的consoletvs/charts

  • 我尝试了这个,但它对我不起作用,使用命令删除 V6 并安装 v5 ,仍然生成错误 - Rootcomposer.json 需要 consoletvs/charts 5.*,找到 consoletvs/charts[dev-main, 6.5。 6]但它与约束不匹配。- (2认同)