|
| 1 | +# jQuery DataTables API for Laravel 4|5 |
| 2 | + |
| 3 | +[](http://laravel.com) |
| 4 | +[](https://packagist.org/packages/yajra/laravel-datatables-oracle) |
| 5 | +[](https://travis-ci.org/yajra/laravel-datatables) |
| 6 | +[](https://scrutinizer-ci.com/g/yajra/laravel-datatables/?branch=master) |
| 7 | +[](https://packagist.org/packages/yajra/laravel-datatables-oracle) |
| 8 | +[](https://packagist.org/packages/yajra/laravel-datatables-oracle) |
| 9 | + |
| 10 | +This package is created to handle [server-side](https://www.datatables.net/manual/server-side) works of [DataTables](http://datatables.net) jQuery Plugin via [AJAX option](https://datatables.net/reference/option/ajax) by using Eloquent ORM, Fluent Query Builder or Collection. |
| 11 | + |
| 12 | +```php |
| 13 | +use Yajra\Datatables\Facades\Datatables; |
| 14 | + |
| 15 | +// Using Eloquent |
| 16 | +return Datatables::eloquent(User::query())->make(true); |
| 17 | + |
| 18 | +// Using Query Builder |
| 19 | +return Datatables::queryBuilder(DB::table('users'))->make(true); |
| 20 | + |
| 21 | +// Using Collection |
| 22 | +return Datatables::collection(User::all())->make(true); |
| 23 | + |
| 24 | +// Using the Engine Factory |
| 25 | +return Datatables::of(User::query())->make(true); |
| 26 | +return Datatables::of(DB::table('users'))->make(true); |
| 27 | +return Datatables::of(User::all())->make(true); |
| 28 | +``` |
| 29 | + |
| 30 | +## Feature Overview |
| 31 | +- Supports the following data source |
| 32 | + - **Eloquent ORM** |
| 33 | + - **Fluent Query Builder** |
| 34 | + - **Collection** [available on v5.x and later] |
| 35 | +- [DataTable Service Implementation (v6.x)](https://github.com/yajra/laravel-datatables/blob/6.0/CHANGELOG.md#v600---datatable-service-implementation). |
| 36 | +- Adding or editing content of columns and removing columns |
| 37 | +- Modify column values via Blade Template Engine or by using Closure |
| 38 | +- Works with **ALL the DATABASE** supported by Laravel |
| 39 | +- Works with **Oracle Database** using [Laravel-OCI8](https://github.com/yajra/laravel-oci8) package |
| 40 | +- Works with [DataTables](http://datatables.net) v1.10++. |
| 41 | + - **Note:** DT Legacy code is not supported on v5.x |
| 42 | +- Works with [DataTables](http://datatables.net) v1.9 and v1.10 legacy code. |
| 43 | + - **Note:** Use [v4.x](https://github.com/yajra/laravel-datatables-oracle/tree/v4.3.2) for Laravel 5 and [v3.x](https://github.com/yajra/laravel-datatables-oracle/tree/L4) for Laravel 4 |
| 44 | +- Extended column filtering via `filterColumn` API. |
| 45 | +- Extended column ordering via `orderColumn` API. |
| 46 | +- Extended Query Builder functionality allowing you to filter using Datatables class directly. |
| 47 | +- Decorate your data output using [`league\fractal`](https://github.com/thephpleague/fractal) Transformer with Serializer support. |
| 48 | +- Works with Laravel Dependency Injection and IoC Container. |
| 49 | +- Provides a [DataTable Html Builder](http://datatables.yajrabox.com/html) to help you use the package with less code. |
| 50 | +- Provides XSS filtering function to optionally escape all or specified column values using `escapeColumns('*'\['column'])` method. |
| 51 | +- Provides Query Logging when application is in debug state. |
| 52 | + **Important: Make sure that debug is set to false when your code is in production** |
| 53 | +- Easily attach a resource on json response via `->with()` method. |
| 54 | +- Built-in support for exporting to CSV, EXCEL and PDF using [Laravel-Excel](https://github.com/Maatwebsite/Laravel-Excel). |
| 55 | +- Built-in printer friendly view or create your own by overriding `printPreview()` method. |
| 56 | +- Provides an artisan command for generating a DataTable service and scope. |
| 57 | +- Provides **WHITELIST** and **BLACKLIST** feature to explicitly allow/deny columns from searching/sorting. |
| 58 | +- See [change logs](https://github.com/yajra/laravel-datatables/blob/6.0/CHANGELOG.md) for more details. |
| 59 | + |
| 60 | +## Requirements: |
| 61 | +- PHP 5.5.9 or later. |
| 62 | +- Laravel 5.0 or later. |
| 63 | +- [DataTables jQuery Plugin](http://datatables.net/) v1.10.x |
| 64 | + |
| 65 | +## Laravel 4.2 & DataTables v1.9.x Users |
| 66 | +Most of the latest updates/features are not available on these versions. Please check [L4 Branch](https://github.com/yajra/laravel-datatables/tree/L4) and [L5 DT1.9](https://github.com/yajra/laravel-datatables/tree/L5-DT1.9) for old documentations of its features. |
| 67 | + |
| 68 | +## Buy me a beer |
| 69 | +<a href='https://pledgie.com/campaigns/29515'><img alt='Click here to lend your support to: Laravel Datatables and make a donation at pledgie.com !' src='https://pledgie.com/campaigns/29515.png?skin_name=chrome' border='0' ></a> |
| 70 | + |
| 71 | +## Documentations |
| 72 | +- You will find user friendly and updated documentation in the wiki here: [Laravel Datatables Wiki](https://github.com/yajra/laravel-datatables/wiki) |
| 73 | +- You will find the API Documentation here: [Laravel Datatables API](http://yajra.github.io/laravel-datatables/api/) |
| 74 | +- [Demo Application](http://datatables.yajrabox.com) is available for artisan's reference. |
| 75 | + |
| 76 | +## Quick Installation |
| 77 | +`composer require yajra/laravel-datatables-oracle:~6.0` |
| 78 | + |
| 79 | +#### Service Provider |
| 80 | +`Yajra\Datatables\DatatablesServiceProvider::class` |
| 81 | + |
| 82 | +#### Facade |
| 83 | +`Datatables` facade are automatically registered as an alias for `Yajra\Datatables\Facades\Datatables` class. |
| 84 | + |
| 85 | +#### Configuration and Assets |
| 86 | +`$ php artisan vendor:publish --tag=datatables` |
| 87 | + |
| 88 | +And that's it! Start building out some awesome DataTables! |
| 89 | + |
| 90 | +## Upgrading from v5.x to v6.x |
| 91 | + - Change all occurrences of `yajra\Datatables` to `Yajra\Datatables`. (Use Sublime's find and replace all for faster update). |
| 92 | + - Remove `Datatables` facade registration. |
| 93 | + - Temporarily comment out `Yajra\Datatables\DatatablesServiceProvider`. |
| 94 | + - Update package version on your composer.json and use `yajra/laravel-datatables-oracle: ~6.0` |
| 95 | + - Uncomment the provider `Yajra\Datatables\DatatablesServiceProvider`. |
| 96 | + |
| 97 | +## Contributing |
| 98 | + |
| 99 | +Please see [CONTRIBUTING](https://github.com/yajra/laravel-datatables/blob/master/.github/CONTRIBUTING.md) for details. |
| 100 | + |
| 101 | +## Security |
| 102 | + |
| 103 | +If you discover any security related issues, please email [[email protected]](mailto:[email protected]) instead of using the issue tracker. |
| 104 | + |
| 105 | +## Credits |
| 106 | + |
| 107 | +- This project is used to be a fork from [bllim/laravel4-datatables-package](https://github.com/bllim/laravel4-datatables-package). |
| 108 | +- [All Contributors](https://github.com/yajra/laravel-datatables/graphs/contributors) |
| 109 | + |
| 110 | +## License |
| 111 | + |
| 112 | +The MIT License (MIT). Please see [License File](https://github.com/yajra/laravel-datatables/blob/master/LICENSE.md) for more information. |
0 commit comments