Skip to content

Latest commit

 

History

History
70 lines (54 loc) · 1.49 KB

engine-collection.md

File metadata and controls

70 lines (54 loc) · 1.49 KB

Collection Data Source

You may use Laravel's Collection as data source for your dataTables. You can look at Yajra\Datatables\Enginges\CollectionEngine class which handles the conversion of your Collection into a readbale DataTable API response.

Collection via Factory

use Datatables;

Route::get('user-data', function() {
	$collection = collect([
		['id' => 1, 'name' => 'John'],
		['id' => 2, 'name' => 'Jane'],
		['id' => 3, 'name' => 'James'],
	]);

	return Datatables::of($collection)->make(true);
});

Collection via Facade

use Datatables;

Route::get('user-data', function() {
	$collection = collect([
		['id' => 1, 'name' => 'John'],
		['id' => 2, 'name' => 'Jane'],
		['id' => 3, 'name' => 'James'],
	]);

	return Datatables::queryBuilder($collection)->make(true);
});

Collection via Dependency Injection

use Yajra\Datatables\Datatables;

Route::get('user-data', function(Datatables $datatables) {
	$collection = collect([
		['id' => 1, 'name' => 'John'],
		['id' => 2, 'name' => 'Jane'],
		['id' => 3, 'name' => 'James'],
	]);

	return $datatables->queryBuilder($collection)->make(true);
});

Collection via IoC

Route::get('user-data', function() {
	$collection = collect([
		['id' => 1, 'name' => 'John'],
		['id' => 2, 'name' => 'Jane'],
		['id' => 3, 'name' => 'James'],
	]);

	return app('datatables')->queryBuilder($collection)->make(true);
});