Zapytania do bazy danych w Prisma
Teraz już wiesz jak dodać Prismę do swojego projektu. Czas zaciągnąć jakieś dane. Składnia zapytań w Prismie jest bardzo prosta i wygląda mniej-więcej tak:
prisma.nazwaTabeli.typFinda({ where: { kolumna: wartość, }, select: { kolumna: true, }, include: { nazwaTabeliWRelacji: { select: { kolumnaZTabeliWRelacji: true, }, }, },});
Teraz co tu się wydarzyło? Przede wszystkim odnieśliśmy się do naszego globalnego obiektu prisma
. Dalej, wybieramy z jakiej tabeli chcemy wyciągnąć dane.
typFinda
definuje w jaki sposób Prisma będzie szukać danych w tabeli. Dostępne opcje to findMany
, findFirst
(odpowiada LIMIT 1 w SQL) i findUnique
(odpowiada DISTINCT w SQL).
Wewnątrz find’a możemy doprecyzować co dokładnie chcemy, żeby Prisma nam zwróciła.
where
pozwala nam filtrować dane. Jakowartość
możemy wpisać statyczną wartość, lub zmienną podaną na przykład jako argument funkcji serwerowejselect
pozwala nam wybrać, które kolumny chcemy zwrócić. Możemy też zwrócić wszystkie kolumny, w ogóle nie wpisującselect
do zapytaniainclude
pozwala nam zwrócić dane z relacji. Wewnątrzinclude
możemy zagnieżdżać kolejneselect
iinclude
, co pozwala na zwrócenie danych z relacji relacji. Generalnie, zabawa z zagnieżdżonymi relacjami. Jakie zagnieżdżenie będzie głębokie zależy tylko od twojej struktury bazy danych.
Ale jak można się domyślić, zapytania do bazy danych nie ograniczają się tylko do find
. Prisma oferuje nam wiele innych metod, które możemy wykorzystać w zależności od naszych potrzeb. Umożliwia ona pełen zakres operacji CRUD’owych. Dla szczegółowego opisu odsyłam do dokumentacji Prismy, bo to dopiero czubek góry lodowej.