1. Go to this page and download the library: Download lukesnowden/filterable 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/ */
lukesnowden / filterable example snippets
namespace App\Customers\Filters;
use Lukesnowden\Filterable\Traits\Filterable;
use App\Customers\Filters\OrderByd;
use App\Customers\Filters\Methods;
class FilterCustomers
{
use Filterable;
/**
* @var string
*/
protected static $defaultOrderBy = 'forename';
/**
* Called just before filtering to set local filters
* @return void
*/
public function preFilter()
{
self::addOrderBys( new OrderBys() );
self::addFilters( new Methods() );
}
}
namespace App\Customers\Filters;
use Closure;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Http\Request;
class OrderBys
{
/**
* @return Closure
*/
public function forename() : Closure
{
return function( Builder $builder, $order )
{
$builder->orderBy( 'forename', $order );
};
}
}
Class Methods
{
/**
* @return Closure
*/
public function forename() : Closure
{
return function( Builder $builder, Request $request )
{
if( $forename = $request->input( 'forename' ) ) {
$builder->where( 'forename', 'like', "%{$forename}%" );
}
};
}
}