K

Tabulka

DateFilter

Filtr data s režimem jednoho data nebo rozsahu dat. Vykreslí nativní date input(y).

Na této stránce

Filtr data s režimem jednoho data nebo rozsahu dat. Vykreslí nativní date input(y).

use NyonCode\WireTable\Filters\DateFilter;

Jedno datum

Výchozí režim vykreslí jeden date input a shoduje se s tím přesným dnem.

DateFilter::make('created_at')
// Aplikuje: WHERE DATE(created_at) = '2024-01-15'

Rozsah dat

Zavolejte range() pro vykreslení dvou date inputů („from" a „to"). Uživatel může vyplnit kteroukoli stranu, takže otevřené rozsahy fungují bez extra konfigurace.

DateFilter::make('created_at')
->range()
// Vykreslí dva date inputy.
// Oba nastavené: WHERE DATE(created_at) >= from AND <= to
// Jen from: WHERE DATE(created_at) >= from
// Jen to: WHERE DATE(created_at) <= to

Vlastní popisky

V režimu rozsahu se popisky použijí jako placeholdery inputů.

DateFilter::make('period')
->column('created_at')
->range()
->fromLabel('Created after')
->toLabel('Created before')

Měsíc + rok

Zavolejte month() pro filtrování podle celého měsíce místo přesného dne. Vykreslí nativní výběr měsíce (<input type="month">) a shoduje se s každým záznamem ve vybraném měsíci:

DateFilter::make('billed_at')
->month()
// Hodnota "2026-06" aplikuje: WHERE YEAR(billed_at) = 2026 AND MONTH(billed_at) = 6

Zkombinujte s subRows() pro filtrování rodičů podle měsíce jejich dětských záznamů.

Omezení data

DateFilter::make('birth_date')
->minDate('1900-01-01')
->maxDate(now())

API DateFilter

->range(bool $range = true) // dva inputy (from/to) místo jednoho
->month(bool $month = true) // výběr měsíce, shoduje se s celým měsícem
->fromLabel(string $label) // placeholder "from" (výchozí: 'From')
->toLabel(string $label) // placeholder "to" (výchozí: 'To')
->minDate(string|DateTimeInterface|null $date) // min volitelné datum
->maxDate(string|DateTimeInterface|null $date) // max volitelné datum

Chování rozsahu

from to Podmínka
nastaveno null WHERE DATE(column) >= from
null nastaveno WHERE DATE(column) <= to
nastaveno nastaveno WHERE DATE(column) >= from AND <= to
null null Žádný filtr neaplikován