Mistrovské dotazy Laravel Where Not k vyloučení nežádoucích dat

Porozumění whereNot Dotazy v systému Laravel whereNot dotazy v Laravelu slouží k načítání záznamů, které dělají ne splňují určitou podmínku. Chcete-li například získat všechny uži...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

12. 12. 2024

Mistrovské dotazy Laravel Where Not k vyloučení nežádoucích dat

Porozumění whereNot Dotazy v systému Laravel

whereNot dotazy v Laravelu slouží k načítání záznamů, které dělají ne splňují určitou podmínku. Chcete-li například získat všechny uživatele kromě těch s rolí "admin", můžete použít příkaz. whereNot dotazu k dosažení tohoto cíle.

Tyto dotazy vám pomohou vyloučit data z výsledků, takže se můžete snadno soustředit pouze na informace, které potřebujete.

Všechny typy whereNot Dotazy v systému Laravel

1. whereNot

Tato metoda vylučuje výsledky založené na jedné podmínce. Například:

Příklad: Vyloučení uživatelů s určitou rolí

// these are equivalent to the whereNot method
$users = User::where('role', '!=', 'admin')->get();
$users = User::where('role', '<>', 'admin')->get();
 
$users = User::whereNot('role', 'admin')->get();

Tento dotaz vyhledá všechny uživatele, jejichž role sloupec je ne rovná se "admin".

2. whereNotIn

Pokud potřebujete z výsledků vyloučit více hodnot, použijte následující příkaz whereNotIn.

Příklad: Vyloučení více rolí

$users = User::whereNotIn('role', ['admin', 'editor'])->get();

Tento dotaz vylučuje uživatele s rolí "admin" nebo "editor".

3. whereNotNull

Chcete-li vyloučit záznamy, ve kterých je sloupec nulový, můžete použít příkaz whereNotNull.

Příklad: Získání uživatelů s nevyplněnými e-maily

$users = User::whereNotNull('email')->get();

Tento dotaz vyhledá všechny uživatele, kteří mají e-mailovou adresu.

4. whereNull

Ačkoli se nejedná zrovna o whereNot dotaz, jeho doplněk whereNull lze také účinně použít. Například:

Příklad: Získání uživatelů bez e-mailové adresy

$users = User::whereNull('email')->get();

Tento dotaz vyhledá všechny uživatele, jejichž email sloupec je nulový.

5. whereNotBetween

Pokud potřebujete vyloučit záznamy, které spadají do určitého rozsahu, použijte příkaz whereNotBetween.

Příklad: Vyloučení objednávek v rámci rozsahu dat

$orders = Order::whereNotBetween('created_at', ['2024-01-01', '2024-12-31'])->get();

Tento dotaz vyhledá všechny objednávky mimo zadaný rozsah dat.

6. whereNotExists

Chcete-li vyloučit výsledky na základě souvisejícího dotazu, použijte příkaz whereNotExists.

Příklad: Vyloučení uživatelů bez objednávek

$users = User::whereNotExists(function ($query) {
$query->select(DB::raw(1))
->from('orders')
->whereRaw('orders.user_id = users.id');
})->get();

Tento dotaz vyhledá uživatele, kteří nemají žádné příkazy v seznamu orders tabulka.

7. whereNot s uzávěry

Pro složitější logiku můžete použít uzávěr uvnitř příkazu whereNot dotaz.

Příklad: Vyloučení uživatelů na základě více podmínek

$users = User::whereNot(function ($query) {
$query->where('role', 'admin')
->orWhere('is_active', false);
})->get();

Tento dotaz vyhledá všechny uživatele, kteří nejsou správci a zároveň jsou aktivní.

Všimněte si, že všechny výše uvedené metody, u nichž nelze použít podmínku "OR", jako např. orWhereNot, orWhereNotIn, atd.

Kombinace whereNot s dalšími podmínkami

Můžete kombinovat whereNot dotazy s dalšími metodami, abyste zpřesnili výsledky. Například:

Příklad: Získání aktivních uživatelů s výjimkou administrátorů

$users = User::whereNot('role', 'admin')
->where('is_active', true)
->get();

Tento dotaz vyhledá všechny aktivní uživatele, jejichž role je ne "Administrátor."

Závěrečné shrnutí

whereNot a související metody (whereNotIn, whereNotNull, whereNotBetween, whereNotExistsa whereNot s uzávěrkami) vám dávají mocné nástroje k vyloučení nežádoucích dat z dotazů. Pochopení a zvládnutí těchto metod vám pomůže psát čistší a efektivnější kód Laravelu.

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

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google