Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [inny];Laravel ] Modele i relacje między nimi
miccom
post 27.09.2021, 21:24:30
Post #1





Grupa: Zarejestrowani
Postów: 459
Pomógł: 7
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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ć?


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post
Pyton_000
post 28.09.2021, 07:07:57
Post #2





Grupa: Zarejestrowani
Postów: 8 051
Pomógł: 1411
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Np. czytając dokumentację wink.gif https://laravel.com/docs/8.x/eloquent-relat...has-one-through
Go to the top of the page
+Quote Post
miccom
post 28.09.2021, 21:45:58
Post #3





Grupa: Zarejestrowani
Postów: 459
Pomógł: 7
Dołączył: 7.07.2007
Skąd: Tychy

Ostrzeżenie: (0%)
-----


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

Ten post edytował miccom 28.09.2021, 23:29:34


--------------------
Jeśli pomogłem- kliknij POMÓGŁ-przyda się ;)- jeśli piszę bzdury- pisz pod postami. Poprawię się.
PISZĘ POPRAWNIE PO POLSKU!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 4.12.2021 - 11:57