1. Go to this page and download the library: Download ilyasavich/filter 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/ */
ilyasavich / filter example snippets
use Savich\Filter\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder;
use My\Model\Namaspace\MyModel;
class YourCustomFilter extends Filter
{
public function alias()
{
return 'filter_alias';
}
public function modelNamespace()
{
return MyModel::class;
}
public function build(Builder $query)
{
return $query->where('id', '!=', 1); // example query
}
}
use Savich\Filter\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder;
use My\Model\Namaspace\MyModel;
class Filter1 extends Filter
{
public function alias()
{
return 'filter1';
}
public function modelNamespace()
{
return MyModel::class;
}
public function build(Builder $query)
{
return $query->where('id', '!=', 1); // example query
}
}
==========================================
use Savich\Filter\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder;
use My\Model\Namaspace\MyModel;
class Filter2 extends Filter
{
public function alias()
{
return 'filter2';
}
public function modelNamespace()
{
return MyModel::class;
}
public function build(Builder $query)
{
return $query->whereIn('id', '!=', $this->parameters); // example query
}
}
==========================================
use Savich\Filter\Kernel;
class YourFilterKernel extends Kernel
{
protected $filters = [
Filter1::class,
Filter2::class,
];
}
==========================================
use Namespace\Of\YourFilterKernel;
$kernel = YourFilterKernel::instance();
$kernel->make();
// or
$kernel->make($arrayOfFilterAliases);