Level 104
The mergeData should be associative, right?
return view('dashboard.index',
compact('users', 'obooks', 'reports', 'assessments', 'roles', 'permissions'),
['chart' => $chart->build()] // key => value
);
1 like
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
am trying to use larapex charts in my laravel dashboard but get error above followed the documentation guide but no luck
my chart
<?php
namespace App\Charts;
use ArielMejiaDev\LarapexCharts\LarapexChart;
class UsersChart
{
protected LarapexChart $chart;
public function __construct(LarapexChart $chart)
{
$this->chart = $chart;
}
public function build(): \ArielMejiaDev\LarapexCharts\RadialChart
{
return $this->chart->radialChart()
->setTitle('Passing effectiveness.')
->setSubtitle('Barcelona city vs Madrid sports.')
->addData([75, 60])
->setLabels(['Barcelona city', 'Madrid sports'])
->setColors(['#D32F2F', '#03A9F4']);
}
}
my controller
<?php
namespace App\Http\Controllers;
use Spatie\Permission\Models\Role;
use Spatie\Permission\Models\Permission;
use App\Models\Report;
use App\Models\User;
use App\Models\Obook;
use App\Models\Assessment;
use App\Charts\UsersChart;
use Illuminate\Http\Request;
class DashboardController extends Controller
{
public function index(UsersChart $chart) {
$users = User::all();
$obooks = Obook::all();
$reports = Report::all();
$roles = Role::all();
$permissions = Permission::all();
$assessments = Assessment::all();
return view('dashboard.index',
compact('users', 'obooks', 'reports', 'assessments', 'roles', 'permissions'),
['chart', $chart->build()]
);
}
}
my view
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Chart Sample</title>
</head>
<body class="h-screen bg-gray-100">
<div class="container px-4 mx-auto">
<div class="p-6 m-20 bg-white rounded shadow">
{!! $chart->container() !!}
</div>
</div>
<script src="{{ $chart->cdn() }}"></script>
{{ $chart->script() }}
</body>
</html>
The mergeData should be associative, right?
return view('dashboard.index',
compact('users', 'obooks', 'reports', 'assessments', 'roles', 'permissions'),
['chart' => $chart->build()] // key => value
);
Please or to participate in this conversation.