1. Go to this page and download the library: Download henzeb/query-filter-builder 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/ */
henzeb / query-filter-builder example snippets
use Henzeb\Query\Filters\Query;
$filter = (new Query())
->nest(
(new Query)
->nest(
(new Query)
->is('animal', 'cat')
->less('age', 10)
)->or()
->nest(
(new Query)
->is('animal', 'dog')
->between('age', 5, 7)
)
)->in('disease', 'diabetes', 'diarrhea')
->limit(50)
->offset(50);
use DB;
use Henzeb\Query\Illuminate\Builders\Builder;
$query = DB::table('patients')
->where('vet_id', 1);
$filter->build(new Builder($query));
use Henzeb\Query\Illuminate\Filters\Contracts\Filter;
use Illuminate\Database\Eloquent\Builder as EloquentBuilder;
use Illuminate\Database\Query\Builder as IlluminateBuilder;
class OwnerCountFilter implements Filter
{
public function __construct(private int $count)
{
}
public function build(EloquentBuilder|IlluminateBuilder $builder): void
{
$builder->whereRaw(
'(
select count(1)
from `owners_patients`
where `owners_patients`.`patient_id` = `patients`.`id`
) = ?',
[$this->count]
);
}
}
use Henzeb\Query\Filters\Query;
use App\Filters\YourCustomFilter;
$filter = (new Query)->filter(OwnerCountFilter(1));
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.