Laravel 11.42 přináší nové metody dotazování na datum

Nové metody dotazování na datum v aplikaci Eloquent ve verzi 11.42 Laravel pokračuje ve zlepšování zkušeností vývojářů pomocí nové sady metod v nástroji Query Builder, které zjedn...

Poptat web

12. 02. 2025

Laravel 11.42 přináší nové metody dotazování na datum

Nové metody dotazování na datum v aplikaci Eloquent ve verzi 11.42

Laravel pokračuje ve zlepšování zkušeností vývojářů pomocí nové sady metod v nástroji Query Builder, které zjednodušují dotazy založené na datu. Tyto metody, které byly představeny v nedávném požadavku pull request Jason McCreary, poskytují čitelnější a intuitivnější způsoby filtrování záznamů na základě dat.

Nové metody pro dotazy založené na datu

Aktualizace zavádí následující a další metody:

  • wherePast(): Vyhledá záznamy, u nichž je sloupec s datem v minulosti.
  • whereNowOrPast(): Vyhledá záznamy, jejichž sloupec s datem je v minulosti nebo v aktuálním okamžiku.
  • orWherePast(): Přidá podmínku OR pro minulá data.
  • orWhereNowOrPast(): Přidá podmínku NEBO pro minulá nebo současná data.
  • whereFuture(): Vybere záznamy, u nichž sloupec s datem spadá do budoucnosti.
  • whereNowOrFuture(): Vyhledá záznamy, u nichž je sloupec s datem v budoucnosti nebo v aktuálním okamžiku.
  • orWhereFuture(): Přidá podmínku OR pro budoucí data.
  • orWhereNowOrFuture(): Přidá podmínku NEBO pro budoucí nebo současná data.

Jak tyto metody zlepšují dotazy

Dříve filtrování záznamů na základě relativních dat vyžadovalo slovní vyjádření. where podmínky, jako jsou:

$pastRecords = Model::where('date_column', '<', now())->get();

Díky novým metodám je stejný dotaz čitelnější:

$pastRecords = Model::wherePast('date_column')->get();

Toto vylepšení zvyšuje přehlednost i udržovatelnost kódu.

Příklady případů použití

Získat všechny předplatné, jejichž platnost vypršela

$expiredSubscriptions = Subscription::wherePast('expires_at')->get();

Najděte události, které se konají nyní nebo v budoucnu

$upcomingEvents = Event::whereNowOrFuture('event_date')->get();

Vyhledání objednávek zadaných v minulosti

$pastOrders = Order::wherePast('created_at')->get();

Dostupnost

Tyto metody jsou součástí nejnovější verze Laravel 11.42. Jejich úplnou implementaci si můžete prohlédnout v Žádost o stažení.

Díky těmto novým metodám dotazování na datum je práce s daty v systému Laravel intuitivnější, což dále zlepšuje zkušenosti vývojářů.

Původní článek publikoval Nabil Hassen.