2017 © Pedro Peláez
 

library laravel-datatables-mongodb

Laravel DataTables plugin to support Mongodb

image

pimlie/laravel-datatables-mongodb

Laravel DataTables plugin to support Mongodb

  • Monday, November 6, 2017
  • by pimlie
  • Repository
  • 3 Watchers
  • 2 Stars
  • 816 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 2 Forks
  • 0 Open issues
  • 5 Versions
  • 44 % Grown

The README.md

Laravel DataTables Mongodb Plugin

Latest Stable Version Total Downloads License, (*1)

This package is a plugin for Laravel DataTables to support Mongodb using Laravel Mongodb, (*2)

Requirements

Documentation

This plugin provides most functionalities described in the Laravel Datatables documentation. See Known issues below, (*3)

Installation

composer require pimlie/laravel-datatables-mongodb:^1.1, (*4)

Configure

Check the Laravel DataTables configuration for how to configure and use it., (*5)

If you want the datables() and/or of methods to automatically use the correct datatables engine,, (*6)

Unfortunately we cant use auto-discovery yet, this package will be discoverd before laravel-datatables is and that will overwrite the engines config at the moment, (*7)

~~> Although this package has a dependency on laravel-datatables, you need to explictly require the package as auto-discovery works based on the packages listed in the dependencies section of your composer.json.~~, (*8)

composer require yajra/laravel-datatables-oracle:"~8.0"
composer require pimlie/laravel-datatables-mongodb:^1.1

so you either you have to add the service provide:, (*9)

'providers' => [
    ...,
    Yajra\DataTables\DataTablesServiceProvider::class,
    Pimlie\DataTables\MongodbDataTablesServiceProvider::class, // add _after_ Yajra's ServiceProvider
]

or open the config/datatables.php file and add the engines manually to the config:, (*10)

    /**
     * Datatables list of available engines.
     * This is where you can register your custom datatables engine.
     */
    'engines'        => [
        // The Jenssegers\Mongodb classes extend the default Query/Eloquent classes
        // thus the engines need to be listed above the default engines
        // to make sure they are tried first
        'moloquent'      => Pimlie\DataTables\MongodbDataTable::class,
        'mongodb-query'  => Pimlie\DataTables\MongodbQueryDataTable::class,
        'mongodb-hybrid' => Pimlie\DataTables\HybridMongodbQueryDataTable::class,

        'eloquent'       => Yajra\DataTables\EloquentDataTable::class,
        'query-builder'  => Yajra\DataTables\QueryDataTable::class,
        'collection'     => Yajra\DataTables\CollectionDataTable::class,
    ],

    /**
     * Datatables accepted builder to engine mapping.
     * This is where you can override which engine a builder should use
     * Note, only change this if you know what you are doing!
     */
    'builders'       => [
        //Jenssegers\Mongodb\Eloquent\Builder::class             => 'moloquent',
        //Jenssegers\Mongodb\Query\Builder::class                => 'mongodb-query',
        //Jenssegers\Mongodb\Helpers\EloquentBuilder::class      => 'eloquent',
        //Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent',
        //Illuminate\Database\Eloquent\Builder::class            => 'eloquent',
        //Illuminate\Database\Query\Builder::class               => 'query',
        //Illuminate\Support\Collection::class                   => 'collection',
    ],

Usage

Use the datatables() method

For this to work you need to have the class definitions added to the engines and builders datatables configuration, see above., (*11)

use \App\MyMongodbModel;

$datatables = datatables(MyMongodbModel::all());

Use the dataTable class directly.

use Pimlie\DataTables\MongodbDataTable;

return (new MongodbDataTable(App\User::where('id', '>', 1))->toJson()

Use via trait.

  • Add the MongodbDataTableTrait trait to your model.
use Jenssegers\Mongodb\Eloquent\Model;
use Pimlie\DataTables\Traits\MongodbDataTableTrait;

class User extends Model
{
    use MongodbDataTableTrait;
}
  • Call dataTable() directly on your model.
Route::get('users/data', function() {
    return User::dataTable()->toJson();
});

Known issues

  • the orderColumn and orderColumns methods are empty placeholders and do nothing
  • there is currently no support for viewing/searching/ordering on (non-embedded) relationships between Models (eg through a user.posts column key)

The Versions

06/11 2017

dev-master

9999999-dev

Laravel DataTables plugin to support Mongodb

  Sources   Download

MIT

The Requires

 

The Development Requires

mongodb laravel datatables

06/11 2017

1.1.2

1.1.2.0

Laravel DataTables plugin to support Mongodb

  Sources   Download

MIT

The Requires

 

The Development Requires

mongodb laravel datatables

06/11 2017

1.1.1

1.1.1.0

Laravel DataTables plugin to support Mongodb

  Sources   Download

MIT

The Requires

 

The Development Requires

mongodb laravel datatables

26/10 2017

1.1.0

1.1.0.0

Laravel DataTables plugin to support Mongodb

  Sources   Download

MIT

The Requires

 

The Development Requires

mongodb laravel datatables

21/10 2017

1.0.0

1.0.0.0

Laravel DataTables plugin to support Mongodb

  Sources   Download

MIT

The Requires

 

The Development Requires

mongodb laravel datatables