Datatable Model
This is a laravel 5 package for the server and client side of datatables at http://datatables.net/, (*1)
A dedicated class (model) to configure Datatables.net for Laravel to keep your controllers as clean as possible., (*2)
Example
Your Userscontroller:, (*3)
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., (*4)
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
- Install Datatable on: https://github.com/Chumper/Datatable
- Require Imade/Datatable in your composer.json:
"imade/datatable-model": "dev-master"