Magento 2 Experten — Hyvä Theme, Tailwind CSS & SEO aus einer Hand ›

Datumsbereiche mit DateFilter

Datumsbereiche mit DateFilter

~12 Min. Lesezeit Zuletzt aktualisiert am 8. August 2026

Der DateFilter ist auf Datums-/Zeitfelder SPEZIALISIERT – ERGONOMISCHER als RangeFilter für createdAt, mit EIGENEN, sprechenderen Operator-Namen.

DateFilter anwenden

api/src/Entity/Project.php
use ApiPlatform\Doctrine\Orm\Filter\DateFilter;

#[ApiFilter(DateFilter::class, properties: ['createdAt'])]

Die Operatoren im Überblick

Query-ParameterBedeutung
createdAt[after]=2026-08-01Erstellt NACH (einschließlich) diesem Datum
createdAt[before]=2026-08-31Erstellt VOR (einschließlich) diesem Datum
createdAt[strictly_after]=...Erstellt NACH diesem Datum, das Datum SELBST AUSGESCHLOSSEN
createdAt[strictly_before]=...Erstellt VOR diesem Datum, das Datum SELBST AUSGESCHLOSSEN

Projekte eines Monats abfragen

curl -k 'https://localhost/api/projects?createdAt[after]=2026-08-01&createdAt[before]=2026-08-31'

ZWEI kombinierte DateFilter-Parameter ergeben EFFEKTIV einen Datumsbereich – LESBARER als die entsprechende RangeFilter-Syntax mit vollständigen ISO-8601-Zeitstempeln.

Umgang mit NULL-Werten

Für NULLABLE Datumsfelder (bei UNS aktuell nicht relevant, da createdAt IMMER gesetzt ist) bietet DateFilter zusätzlich eine [include_null_before]/[include_null_after]-Konfiguration, um zu steuern, ob Einträge OHNE Datum in Bereichsabfragen auftauchen.

Alle Filter dieses Blocks im Zusammenspiel

curl -k 'https://localhost/api/projects?name=Projekt&priority[gte]=3&createdAt[after]=2026-08-01&order[priority]=desc&itemsPerPage=5'

FÜNF unabhängige Mechanismen (Textsuche, Zahlenbereich, Datumsbereich, Sortierung, Seitengröße) in EINER einzigen Anfrage, OHNE eine EINZIGE Zeile eigenen Filter-Codes – der KOMPLETTE Ertrag von Block 4.

Tipp: Kapitel 35 zeigt, wie sich Filter KOMBINIEREN und wie eine EIGENE Filter-Klasse aussieht, für Fälle, die mit den eingebauten Filtern NICHT abbildbar sind (z. B. eine Volltextsuche über MEHRERE Felder mit EINEM Parameter).