@@ -28,6 +28,38 @@ composer require devmakerlab/laravel-filters
2828
2929This package offers an abstract class ` AbstractFilterableRepository ` which needs to be extended to implement the features of this package.
3030
31+
32+ PeopleService.php
33+ ``` php
34+ <?php
35+ ...
36+ $peopleRepository = new PeopleRepository($databaseManager);
37+
38+ $people = $peopleRepository
39+ ->addFilter(OldPeopleFilter::class)
40+ ->get(['age' => 60]);
41+ ```
42+
43+ OldPeopleFilter.php
44+ ``` php
45+ <?php
46+
47+ declare(strict_types=1);
48+
49+ use Illuminate\Database\Query\Builder;
50+ use DevMakerLab\LaravelFilters\AbstractFilter;
51+
52+ class OldPeopleFilter extends AbstractFilter
53+ {
54+ public int $age;
55+
56+ public function apply(Builder $queryBuilder): void
57+ {
58+ $queryBuilder->where('age', '>=', $this->age);
59+ }
60+ }
61+ ```
62+
3163PeopleRepository.php
3264``` php
3365<?php
@@ -72,37 +104,6 @@ class PeopleRepository extends AbstractFilterableRepository
72104}
73105```
74106
75- PeopleService.php
76- ``` php
77- <?php
78- ...
79- $peopleRepository = new PeopleRepository($databaseManager);
80-
81- $people = $peopleRepository
82- ->addFilter(OldPeopleFilter::class)
83- ->get(['age' => 60]);
84- ```
85-
86- OldPeopleFilter.php
87- ``` php
88- <?php
89-
90- declare(strict_types=1);
91-
92- use Illuminate\Database\Query\Builder;
93- use DevMakerLab\LaravelFilters\AbstractFilter;
94-
95- class OldPeopleFilter extends AbstractFilter
96- {
97- public int $age;
98-
99- public function apply(Builder $queryBuilder): void
100- {
101- $queryBuilder->where('age', '>=', $this->age);
102- }
103- }
104- ```
105-
106107## Example
107108
108109[ Usage Example] ( https://github.com/devmakerlab/laravel-filters/tree/master/tests/Example ) of DevMakerLab/Laravel-Filters package.
0 commit comments