Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [inny];Laravel ] Modele i relacje między nimi
Forum PHP.pl > Forum > PHP > Frameworki
miccom
Cześć.
Potrzebuję pomocy smile.gif

Model swimmer ma relację do modelu schoolClass, a model schoolClass ma relację do modelu school.

Jak wyciągnąć komplet danych aby swimmer wiedział w jakiej jest szkole?
W bazie danych mam swimmerów z nadaną relacją school_class_id, a schoolClass ma relację z modelem school jako school_class_id


Jeśli wykonam takie zapytanie:
$swimmers =swimmer::with('schoolClass')->get();

To otrzymuję listę swimmerów z relacją schoolClass... ale nie mam danych z relacji schoolClass ze school.

Jak to rozwiązać?
Pyton_000
Np. czytając dokumentację wink.gif https://laravel.com/docs/8.x/eloquent-relat...has-one-through
miccom
Oki, dziękuję za odpowiedź smile.gif


Idąc za wskazanym elementem dokumentacji:


W modelu Swimmer dodałem funkcję:

public function school(){
return $this->hasOneThrough(
'App\Models\School',
'App\Models\SchoolClass',
'id',
'id',
'school_class_id',
'school_id'
);
}
i odnosząc się $swimmers =Swimmer::with('schoolClass')->with('school')->get(); otrzymuję listę swimmersów z dwoma relacjami- schoolClass i school smile.gif
Pięknie dziękuję Pyton_000 za podpowiedź smile.gif

Wiedziałem że można liczyć na starszych / doświadczonych programistów smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.