Super useful package for managing your database from an admin panel.
devmi/datatables is a Laravel package for super useful package for managing your database from an admin panel..
It currently has 1 GitHub stars and 10 downloads on Packagist (latest version 1.1).
Install it with composer require devmi/datatables.
Discover more Laravel packages by devmi
or browse all Laravel packages to compare alternatives.
Last updated
Useful package for managing your database from an admin panel.
From the command line, run:
composer require devmi/datatables
If you're using laravel >5.5 skip to the next step.
Open config/app.php and within the providers array:
Devmi\Datatables\DataTableServiceProvider::class
For this package to function properly, you must create a controller extends our base DataTableController.
e.g:
php artisan make:controller UserController
then, you must implement the abstract builder function
use App\User;
use Devmi\Datatables\Controllers\DatatableController;
class UserController extends DatatableController
{
public function builder()
{
return User::query();
}
//...
}
Simply add resources route.
Open routes/web.php , add:
Route::resource('users', 'UserController');
Now you must publish the vue compenents and register it in order to use it.
php artisan vendor:publish --tag=devmi
open resources/assets/js/app.js and register the component
Vue.component('data-table', require('./vendor/devmi/DataTable.vue'));
you find the file under resources/assets/js/vendor/devmi/DataTable.vue , you customize it.
Now you can visit www.domain.com/admin/users
'users' is you table name.

You must to install ES6 spread operator in order to use this package properly
npm install --save-dev babel-plugin-transform-object-rest-spread
then, create .babelrc file from you command line
echo '{ "plugins": ["transform-object-rest-spread"] }' > .babelrc
Now compile your asset running
npm run dev
You can override the following functions and variables for your need
/**
* Allows admin to add new record on database
*/
$allowCreation: Bool
public function getDisplayableColumns()
{
return ['columns', 'you', 'need', 'to', 'display'];
}
public function getUpdatableColumns()
{
return ['updateable', 'columns'];
}
public function store(Request $request)
{
// Add validation for example
parent::store($request);
}
public function update($id, Request $request)
{
// Add validation for example
parent::update($id, $request);
}