Skip to content

Commit

Permalink
Add basic documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
DivineOmega committed Dec 3, 2018
1 parent cf25e50 commit 4a01faf
Showing 1 changed file with 45 additions and 0 deletions.
45 changes: 45 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Eloquent Report Generator

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

## Installation

To install, just run the following composer command.

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

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

## Usage

See the following code snippet for example usage.

```php
// CSV report format
$format = (new CsvReportFormat());

// 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'));
```

0 comments on commit 4a01faf

Please sign in to comment.