Přidání nových metod pro sestavování dotazů v Laravelu 11.43

Laravel přidává withWhereRelation a findSole Metody k nástroji Query Builder Do nástroje Laravel pro tvorbu dotazů byly přidány dvě nové metody: withWhereRelation a findSole. Díky...

Poptat web

19. 02. 2025

Přidání nových metod pro sestavování dotazů v Laravelu 11.43

Laravel přidává withWhereRelation a findSole Metody k nástroji Query Builder

Do nástroje Laravel pro tvorbu dotazů byly přidány dvě nové metody: withWhereRelation a findSole. Díky těmto vylepšením je dotazování na vztahy a vyhledávání jednotlivých záznamů pohodlnější a výraznější. Pojďme se podívat, jak fungují.

withWhereRelation: Omezení vztahů s dychtivou zátěží

Nový withWhereRelation metoda, na které se podílela @SomaiyaUtsav, umožňuje vývojářům aplikovat omezení na vztahy načtené s ochotou přímo. Dříve filtrování souvisejících modelů vyžadovalo samostatné where omezení po ochotném načtení. Tato nová metoda tento proces zjednodušuje.

Příklad použití:

$users = User::query()
->withWhereRelation('posts', 'is_published', true)
->get();

Tento dotaz vyhledá uživatele, kteří mají alespoň jeden zveřejněný příspěvek, čímž se sníží potřeba dalších operací filtrování.

findSole: Zajištění jedinečné shody záznamů

Na stránkách findSole metoda, kterou zavedl @zepfietje, je restriktivnější verzí find. Zajistí, aby zadanému primárnímu klíči odpovídal přesně jeden záznam. Pokud není nalezen žádný záznam nebo pokud existuje více záznamů, je vyhozena výjimka.

Příklad použití:

$user = User::query()->findSole($id);

Závěr

Tyto nové metody vylepšují nástroj Laravel pro tvorbu dotazů, protože umožňují intuitivnější provádění běžných úloh. withWhereRelation poskytuje čistší způsob filtrování souvisejících modelů během dychtivého načítání, zatímco findSole pomáhá zajistit integritu dat tím, že zajišťuje jediný výsledek. Oba doplňky přispívají k expresivnímu a vývojářsky přívětivému přístupu Laravelu k dotazování do databáze.

Další podrobnosti najdete v oficiálních požadavcích na stažení:

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