Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [Doctrine] Uni vs Bidirectional
Fred1485
post 7.06.2016, 13:25:30
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

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


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


--------------------
  1. echo 'I was trying';
  2. die ();
Go to the top of the page
+Quote Post
Crozin
post 7.06.2016, 14:14:36
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

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


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ą.
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: 23.05.2024 - 11:20