imade/datatable-model

A dedicated class (model) to configure Chumper's Datatable package for Laravel (https://github.com/Chumper/Datatable) to keep your controllers as clean as possible.
173 2
Install
composer require imade/datatable-model
Latest Version:v1.0
PHP:>=5.3.0
License:MIT
Last Updated:May 14, 2015
Links: GitHub  ·  Packagist
Maintainer: imade

Datatable Model

This is a laravel 5 package for the server and client side of datatables at http://datatables.net/

A dedicated class (model) to configure Datatables.net for Laravel to keep your controllers as clean as possible.

##Example

Your Userscontroller:


class UsersController extends \BaseController {

	/**
	 * Display a listing of the resource.
	 *
	 * @return Response
	 */
	public function index()
	{
		$table = new UserDatatable();

		if($table->dataRequest()) return $table->data();

		return View::make('resource.index')->withTable($table);
	}
}

Dedicated UserDatatable. This class is required to extend "Imade\Datatable\DatatableModel". The two methods "data" and "table" are required.


	use Imade\Datatable\DatatableModel;

	class UserDatatable extends DatatableModel
	{
		public $columns = array(
			'id' => '#',
			'name' => 'Naam',
			'email' => 'E-mail'
		);


		public function data()
		{
			$query = User::select( array_keys($this->columns) );

			return Datatable::query($query)
				->showColumns( array_keys($this->columns) )
				->make();
		}


		public function table()
		{
			return Datatable::table()
				->addColumn( array_values($this->columns) );
		}
	}

##Install

  1. Install Datatable on: https://github.com/Chumper/Datatable
  2. Require Imade/Datatable in your composer.json:
	"imade/datatable-model": "dev-master"