Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Doctrine] Uni vs Bidirectional
Forum PHP.pl > Forum > PHP > Object-oriented programming
Fred1485
Witam,

Jeśli ktoś ma do czynienia z Doctrine, to bardzo prosiłbym o wsparcie wink.gif

Co w rzeczy samej sprawia, że wybieramy typ relacji Unidirectional/Bidirectional? Z definicji wiem, do czego obie strategie służą. Posłużmy się przykładem korepetycji. Zdefiniujmy np. tabele:

student: id | name
teacher id | name
private_lesson id | student_id | teacher_id | topic

I teraz dochodzi do zdefiniowania relacji. Tutaj wg. mnie wybrałbym strategię Unidirectional (źle??). Tworząc nowy obiekt korepetycji, która miałaby pola uczeń/nauczyciel łatwo mógłbym wstrzyknąć obiekty ucznia i nauczyciela. Ale nie widzę sensu dodawania do klas Student/Teacher pola private_lessons. (dobrze myślę?). Lecz czasem też operacja pobrania wszystkich korepetycji danego ucznia / nauczyciela byłaby potrzebna, ale czy warto pchać do klasy pole private_lesson? Można oczywiście pobrać dane poprzez DBAL. Mógłby ktoś jakąś radą rzucić?
Crozin
1. Doctrine to ORM, czyli powinieneś skupić się na obiektach, nie ich reprezentacji w bazie danych.
2. Jeżeli w swoich klasach masz jedynie powiązanie PrivateLesson -> {Student, Teacher} masz do czynienia z relacją jednokierunkową. Jeżeli masz powiązanie PrivateLesson <-> {Student, Teacher} masz relację dwukierunkową.
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-2025 Invision Power Services, Inc.