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

Ilość zapytań w Laravel Eloquent

0 głosów
336 wizyt
pytanie zadane 8 marca 2021 w PHP przez niezalogowany

Ile razy wykonywane są zapytania do bazy w przypadku zapytań na jakiejś relacji? Na przykładzie najprostszego pobierania danych adresowych użytkownika w relacji 1:1 users z addresses:

{{ $user->address->street }}
{{ $user->address->city }}

Wywoływane są dwa zapytania żeby pobrać miasto i ulicę czy laravel ma już później dostęp do obiektu adresu?

komentarz 9 marca 2021 przez lapacz.kornel Mądrala (6,930 p.)

Użyj laravel-debugbar, pozwala podejrzeć wszystkie wykonane zapytania do bazy danych.

1 odpowiedź

0 głosów
odpowiedź 8 marca 2021 przez Bizuma Gaduła (3,650 p.)

No więc dałeś tutaj tylko dwie linijki kodu, ale te dwie operacje nie wymagają zapytań do bazy danych.

Zakładam, że gdzieś wcześniej w godzie już pobrałeś usera. np:

$user = User::find(2137);

w takiej sytuacji $user posiada już wszystkie swoje własne pola (bez relacji) no chyba, że określisz relacje za pomocą metody "with()". No i zakładamy jeszcze, że nie ograniczyłeś w żaden sposób tego jakie dane mają być wyciągane.

komentarz 8 marca 2021 przez niezalogowany

chodziło mi o typową sytuację kiedy adres jest w osobnej tabeli powiązany z użytkownikiem relacją 1:1. Dane pobierane za pomocą metody:

public function address()
{
    return $this->hasOne(Address::class);
}

 

komentarz 9 marca 2021 przez Bizuma Gaduła (3,650 p.)

Z tego co pamiętam to w tej konkretnej sytuacji będzie to jedno zapytanie. Osobiście polecam samemu sprawdzać co się dzieje gdy wykonujesz zapytania. Laravel ma na to sposób:

DB::enableQueryLog(); 

//Tutaj operacje na bazie danych, np.
$user = User::find();

dd(DB::getQueryLog());

 

Podobne pytania

0 głosów
3 odpowiedzi 569 wizyt
0 głosów
0 odpowiedzi 241 wizyt
0 głosów
1 odpowiedź 544 wizyt

93,604 zapytań

142,528 odpowiedzi

322,995 komentarzy

63,090 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

Kursy INF.02 i INF.03
...