• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Parę zapytań czy jedno z relacją ? Laravel

Object Storage Arubacloud
0 głosów
225 wizyt
pytanie zadane 13 maja 2020 w PHP przez Greeenone Pasjonat (16,100 p.)

Hej,

Mam takie drobne pytanie dotyczące query builder w laravelu. Zapytania można zrobić na dwa różne sposoby:

Rozbić na dwa

$userData = User::where('id', '$id')->get();
$userProducts = Products::where('user_id', '$id')->get();

i zwrócić $userData oraz $userProducts

Drugim sposobem jest użycie relacji

$data = User::where('id', $id)->with('products')->get();

I zwrócenie tylko $data

I teraz pytanie. Jaka jest różnica po za tym, że w drugim przypadku w każdym obiekcie user będzie tabela z produktami? Czy wpływa to jakoś na optymalizację w trakcie wyszukiwania w bazie etc?

 

1 odpowiedź

0 głosów
odpowiedź 13 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)
wybrane 13 maja 2020 przez Greeenone
 
Najlepsza

Sposób drugi jest napewno czytelniejszy i zgodny z dobrymi praktykami programowania. Jeśli chodzi o wydajność, to z tego co mi się wydaje, nie ma to większego znaczenia. Natomiast jeśli jesteś ciekaw jak wygląda zapytanie SQL generowane przez Eloquent oraz ile czasu to zajmuje to polecam zapoznać się z Laravel Telescope. 

Tutaj świetny filmik o tym jak to działa.

Warto później też obejrzeć to.

komentarz 13 maja 2020 przez Greeenone Pasjonat (16,100 p.)
Dziękuje za pomoc. Co do filmów, to na pewno obczaję :)
komentarz 13 maja 2020 przez Ehlert Ekspert (212,790 p.)

Jeśli chodzi o wydajność, to z tego co mi się wydaje, nie ma to większego znaczenia.

 Ma to znaczenie i to duże. Join jest o wiele lepszym rozwiązaniem.

komentarz 14 maja 2020 przez eunstachy Stary wyjadacz (14,180 p.)
Wydaje mi się, ze w tym przypadku laravel nie wykonuje join tylko dwa select'y.

Podobne pytania

0 głosów
2 odpowiedzi 254 wizyt
0 głosów
1 odpowiedź 114 wizyt
pytanie zadane 27 września 2022 w PHP przez Pico Obywatel (1,330 p.)
0 głosów
0 odpowiedzi 193 wizyt
pytanie zadane 18 sierpnia 2021 w PHP przez CSSoup Mądrala (6,460 p.)

92,624 zapytań

141,478 odpowiedzi

319,822 komentarzy

62,005 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...