PHP code example of hamidrrj / laravel-datatable
1. Go to this page and download the library: Download hamidrrj/laravel-datatable library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hamidrrj / laravel-datatable example snippets
[
"data" => [
// Array of matching records
],
"meta" => [
"totalRowCount" => 10 // Total count of matching records
]
]
use \HamidRrj\LaravelDatatable\Facades\DatatableFacade;
$userModel = new User();
$requestParameters = [
'start' => 10,
'size' => 10,
'filters' => [],
'sorting' => []
];
$data = DatatableFacade::run(
$userModel,
$requestParameters
);
$query = User::query()->where('username', '!=', 'admin');
$data = DatatableFacade::run(
$query,
$requestParameters
);
$query = User::query();
$requestParameters = [
'start' => 10,
'size' => 10,
'filters' => [
[
'id' => 'age',
'value' => 15,
'fn' => 'greaterThan',
'datatype' => 'numeric'
]
],
'sorting' => [
[
'id' => 'created_at',
'desc' => true,
]
]
];
$allowedFilters = ['age'];
$allowedSortings = ['created_at'];
$data = DatatableFacade::run(
$query,
$requestParameters,
$allowedFilters,
$allowedSortings
);
$query = User::query()
$requestParameters = [
'start' => 0,
'size' => 10,
'filters' => [
[
'id' => 'created_at',
'value' => ['2024-05-23 10:30:00', '2024-05-29 15:00:00'],
'fn' => 'between',
'datatype' => 'date'
]
],
'sorting' => []
];
$allowedFilters = array('created_at');
$allowedSelects = array('username', 'age', 'created_at');
$data = (new Datatable())->run(
$query,
$requestParameters,
$allowedFilters,
allowedSelects: $allowedSelects
);
[
"data" => [
[
'username' => 'mwindler'
'age' => 49
'created_at' => '2024-05-23T12:00:00.000000Z'
],
// more matching records
],
"meta" => [
"totalRowCount" => 10 // Total count of matching records
]
]
$query = User::query();
$requestParameters = [
'start' => 0,
'size' => 10,
'filters' => [
[
'id' => 'posts.title',
'value' => 'my post',
'fn' => 'contains',
'datatype' => 'text'
]
],
'sorting' => []
];
$allowedFilters = array('posts.title');
$allowedRelations = array('posts');
$data = (new Datatable())->run(
$query,
$requestParameters,
$allowedFilters,
allowedRelations: $allowedRelations
);
[
"data" => [
[
'id' => 1,
'username' => 'sth',
'posts' => [ // posts // ...
]
],
// more matching records
],
"meta" => [
"totalRowCount" => 10 // Total count of matching records
]
]
bash
php artisan datatable:install
bash
php artisan vendor:publish --tag="datatable-provider"