Problem
ma
, z
I gdzie
Czasami może być mylące dla początkujących programistów. Dajmy pewne spojrzenie na to, co oznacza każdy z nich
Rozwiązanie
z()
jest ogólnie używany z chętnym ładowaniem, co jest szybkim sposobem na pobieranie powiązanych modeli. Zasadniczo oznacza to, że wraz z głównym modelem Laravel będzie wstępnie załadować wymienione relacje (y). Jest to korzystne, gdy trzeba załadować dodatkowe dane i chcesz uniknąć tworzenia N+1
Złe praktyki DB. Z chętnym ładowaniem uruchamiasz tylko jedno dodatkowe zapytanie DB zamiast potencjalnie setek dodatkowych zapytań.
Przykład:
Użytkownik> HasMany> OrganizacjaMa
ma()
służy do filtrowania modelu wyboru na podstawie wybranej relacji. Jest to w zasadzie metoda relacji. Jeśli tylko użyjesz ma („organizacja”)
, Korzystając z tego samego przykładu użytkowników i organizacji, oznaczałoby to, że przyciągnie wszystkich użytkowników, którzy mają co najmniej jedną organizację w swoim „portfolio”.
Przykład:
Użytkownik> HasMany> OrganizacjaGdzie
gdzieh ()
jest prawie taki sam jak ma()
. Pozwala tylko określić dodatkowe filtry do sprawdzenia modelu powiązanego.
Przykład:
Użytkownik> HasMany> Organizacja