PHP code example of elgibor-solution / laravel-report-builder
1. Go to this page and download the library: Download elgibor-solution/laravel-report-builder library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
elgibor-solution / laravel-report-builder example snippets
namespace App\Reports\Sources;
use ElgiborSolution\AdvancedReports\Sources\ReportSource;
use Illuminate\Contracts\Database\Query\Builder;
class SalesOrderReportSource extends ReportSource
{
public function key(): string { return 'sales_orders'; }
public function label(): string { return 'Sales Orders'; }
protected function defineFields(): array
{
return [
$this->field('order_number', 'Order No'),
$this->field('order_date', 'Order Date', type: 'date'),
$this->field('total_amount', 'Amount', type: 'decimal', aggregatable: true),
];
}
public function query(array $parameters = []): Builder
{
return \DB::table('sales_orders');
}
}
use ElgiborSolution\AdvancedReports\Facades\AdvancedReports;
AdvancedReports::registerSource(\App\Reports\Sources\SalesOrderReportSource::class);
use ElgiborSolution\AdvancedReports\Facades\AdvancedReports;
use ElgiborSolution\AdvancedReports\Models\Report;
Report::create([
'name' => 'Sales',
'code' => 'sales',
'data_source' => 'sales_orders',
'definition' => [
'name' => 'Sales',
'data_source' => 'sales_orders',
'parameters' => [
['name' => 'date_from', 'type' => 'date', 'sc'],
],
'aggregates' => [
['field' => 'total_amount', 'function' => 'sum'],
],
],
'is_active' => true,
'is_public' => true,
]);
$result = AdvancedReports::run('sales', ['date_from' => '2026-01-01']);
$html = AdvancedReports::render('sales', 'html');
$json = AdvancedReports::render('sales', 'json');
$download = AdvancedReports::export('sales', 'csv');
$export = AdvancedReports::queueExport('sales', 'pdf');
bash
php artisan vendor:publish --tag=advanced-reports-config
php artisan vendor:publish --tag=advanced-reports-migrations
php artisan vendor:publish --tag=advanced-reports-views
bash
php artisan migrate
bash
php artisan make:report-source SalesOrderReportSource
bash
php artisan advanced-reports:install
php artisan make:report-source SalesOrderReportSource
php artisan advanced-reports:cleanup-runs --dry-run