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