PHP code example of luizfabianonogueira / data-table-laravel-ssp

1. Go to this page and download the library: Download luizfabianonogueira/data-table-laravel-ssp 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/ */

    

luizfabianonogueira / data-table-laravel-ssp example snippets


use LuizFabianoNogueira\DataTableLaravelSSP\DataTableLaravelSSPServiceProvider;

return [
    ...
    DataTableLaravelSSPServiceProvider::class,
    ...
];

use LuizFabianoNogueira\DataTableLaravelSSP\Traits\DataTableLaravelSSP;

class User extends Model
{
    use DataTableLaravelSSP;
    ...
}


public function listaDadosParaDataTable(Request $request): JsonResponse
    {
        $list = Model::dtlFilters()
            ->dtlSearch()
            ->dtlOrder()
            ->paginate(($request->paginate ?? 10));
        return response()->json($list);
    }

    public function scopeDtlFilters($eloquent)
    {
        $request = Request::toArray();
        if (!empty($request['id'])) {
            if (is_array($request['id'])) {
                $eloquent->whereIn('id', $request['id']);
            } else {
                $eloquent->where('id', $request['id']);
            }
        }

        ...

        return $eloquent;
    }

    public function scopeDtlSearch($eloquent)
    {
        $request = Request::toArray();
        if (isset($request['search']) && !empty($request['search'])){
            $eloquent->where(function ($query) use ($request) {
                $query->where('yourTable.collumn1', 'ILIKE', '%' . $request['search'] . '%')
                    ->orWhere('yourTable.collumn2', 'ILIKE', '%' . $request['search'] . '%')
                    ->orWhere('yourTable.collumn3', 'ILIKE', '%' . $request['search'] . '%')
                    ->orWhere('yourTable.collumn4', 'ILIKE', '%' . $request['search'] . '%');
            });
        }
        return $eloquent;
    }

    public function scopeDtlOrder($eloquent)
    {
        $request = Request::toArray();
        if (isset($request['sort']) && !empty($request['sort'])) {
            $eloquent->orderBy($request['sort'], $request['direction']??'ASC');
        }
        return $eloquent;
    }