PHPackages                             langleyfoxall/eloquent-report-generator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. langleyfoxall/eloquent-report-generator

ActiveLibrary[Database &amp; ORM](/categories/database)

langleyfoxall/eloquent-report-generator
=======================================

Generates reports from Eloquent models in CSV, PDF, Markdown, HTML, etc.

v1.1.0(2y ago)43703[1 issues](https://github.com/langleyfoxall/eloquent-report-generator/issues)LGPL-3.0-onlyPHPPHP &gt;=7.0

Since Dec 3Pushed 2y agoCompare

[ Source](https://github.com/langleyfoxall/eloquent-report-generator)[ Packagist](https://packagist.org/packages/langleyfoxall/eloquent-report-generator)[ RSS](/packages/langleyfoxall-eloquent-report-generator/feed)WikiDiscussions master Synced today

READMEChangelog (4)Dependencies (3)Versions (6)Used By (0)

Eloquent Report Generator
=========================

[](#eloquent-report-generator)

This package can be used to generate reports from Eloquent models in many formats, such as CSV, PDF, Markdown, and HTML.

Installation
------------

[](#installation)

To install, just run the following composer command.

```
composer require langleyfoxall/eloquent-report-generator
```

Remember to include the `vendor/autoload.php` file if your framework does not do this for you.

Usage
-----

[](#usage)

First, add the `Reportable` trait to the model or models you wish to create reports from.

```
namespace App;

use Illuminate\Database\Eloquent\Model;
use LangleyFoxall\EloquentReportGenerator\Traits\Reportable;

class User extends Model
{
    use Reportable;

    // ...
```

You can then generate reports elsewhere in your application by calling the static `generateReport` method from this trait.

See the following code snippet for example usage.

```
// Report format
$format = (new CsvReportFormat());
//$format = (new PdfReportFormat());
//$format = (new MarkdownReportFormat());
//$format = (new HtmlReportFormat());

// Report generation
User::generateReport()
    ->format($format)
    ->query(function ($query) {
        // Restrict the records used in the report
        $query->where('created_at', '>=' '2018-01-01');
    })
    ->fields(['email', 'name', 'created_at'])
    ->fieldMap([
        // Change how fields appear in the report
        'email' => 'Email address',
        'name' => 'Name',
        'created_at' => 'Joined Date',
    ])
    ->dataRowManipulator(function (DataRow $dataRow) {
        // Format the 'name' field
        $name = $dataRow->getDataItemByFieldName('name');
        $name->value = ucwords($name);
    }
    ->save(storage_path('app/report.csv'));
```

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance15

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity60

Established project with proven stability

 Bus Factor1

Top contributor holds 75% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~574 days

Total

4

Last Release

993d ago

Major Versions

v0.2.0 → v1.0.02019-01-22

### Community

Maintainers

![](https://www.gravatar.com/avatar/c580cdf7c14898fff179cdfc1085892091d5d2f49d917873a12365af9ac77c93?d=identicon)[Jord-JD](/maintainers/Jord-JD)

---

Top Contributors

[![Jord-JD](https://avatars.githubusercontent.com/u/650645?v=4)](https://github.com/Jord-JD "Jord-JD (15 commits)")[![jameswilddev](https://avatars.githubusercontent.com/u/3138458?v=4)](https://github.com/jameswilddev "jameswilddev (4 commits)")[![lfnicklangley](https://avatars.githubusercontent.com/u/10709152?v=4)](https://github.com/lfnicklangley "lfnicklangley (1 commits)")

---

Tags

csveloquenteloquent-modelshtmlmarkdownpdfreporting

### Embed Badge

![Health badge](/badges/langleyfoxall-eloquent-report-generator/health.svg)

```
[![Health](https://phpackages.com/badges/langleyfoxall-eloquent-report-generator/health.svg)](https://phpackages.com/packages/langleyfoxall-eloquent-report-generator)
```

###  Alternatives

[owen-it/laravel-auditing

Audit changes of your Eloquent models in Laravel

3.4k33.0M95](/packages/owen-it-laravel-auditing)[staudenmeir/eloquent-json-relations

Laravel Eloquent relationships with JSON keys

1.1k5.8M24](/packages/staudenmeir-eloquent-json-relations)[bavix/laravel-wallet

It's easy to work with a virtual wallet.

1.3k1.1M11](/packages/bavix-laravel-wallet)[dragon-code/migrate-db

Easy data transfer from one database to another

15717.4k](/packages/dragon-code-migrate-db)[gearbox-solutions/eloquent-filemaker

A package for getting FileMaker records as Eloquent models in Laravel

6454.8k2](/packages/gearbox-solutions-eloquent-filemaker)[cybercog/laravel-ownership

Laravel Ownership simplify management of Eloquent model's owner.

9126.6k3](/packages/cybercog-laravel-ownership)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
