Laravel Filtr modelu oferuje prosty sposób filtrowania i wyszukiwania wymownych modeli według parametrów tablicy i ciągów zapytań.
Oto prosty przykład, aby dokładnie zilustrować, jak działa ten pakiet. Biorąc pod uwagę następujący filtr, możesz wygenerować za pomocą dostarczonego polecenia make:filter
:
namespace App\Models\Filters;
use Lacodix\LaravelModelFilter\Filters\DateFilter;
class CreatedAfterFilter extends DateFilter
{
public FilterMode $mode = FilterMode::GREATER_OR_EQUAL;
protected string $field = 'created_at';
}
Możesz zastosować filtr CreatedAfterFilter
do modelu, jak w poniższym przykładzie:
namespace App\Models;
use App\Models\Filters\CreatedAfterFilter;
use Illuminate\Database\Eloquent\Model;
use Lacodix\LaravelModelFilter\Traits\HasFilters;
class Post extends Model
{
use HasFilters;
protected array $filters = [
CreatedAfterFilter::class,
];
}
Następnie możesz wyzwolić filtr programowo lub za pomocą ciągu zapytania:
Post::filter(['created_after_filter' => '2023-01-01'])->get();
// Multiple filters
Post::filter([
'created_after_filter' => '2023-01-01',
'published_filter' => true,
])->get();
// Or by query string: /posts?created_after_filter=2023-01-01
Post::filterByQueryString()->get();
Ten pakiet zawiera wiele funkcji związanych z modelami filtrowania, takich jak:
- Filtrowanie grup
- Sprawdzanie poprawności
- filtru Sortowanie
- Wyszukiwanie Data Typ filtra Typ
- filtra String
- Wybierz typ
- filtra Typ filtru numerycznego Typ
- filtru logicznego Typ filtru
- do kosza Filtrowanie według relacji
- I nie tylko
Aby rozpocząć pracę z tym pakietem, zapoznaj się z oficjalną dokumentacją kod źró; dłowy znajduje się również na GitHub pod adresem lacodix/laravel-model-filter.