![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 3.01.2007 Skąd: Żory Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wlasne jestem na etapie tworzenia wieksze projektu i mam nastepujacy problem. Mam 3 klasy modelu: - User (tabela: tusr) - Company (tcompany) - ContactInfo (tcontactinfo) : zapisuje tam maile, www, telefony rozrozniajac je po typie Nie wiem jak sie uporac sie z taka sytuacja. Uzytkownicy i firmy posiadaja informacje kontaktowe czyli jakby nie patrzac mamy sytuacje: tuser.id 1------n tcontactinfo.id tcompany.id 1-------- n tcontactinfo.id A zeby tego bylo malo to jest tez taka sytuacja ze firmy moga miec przypisanych uzytkownikow tcompany 1 ------- n User I teraz jak skonstruowac model z kluczami obcymi itp. Wiadomo ze mozna by to zrobic bez kluczy obcych ale troche lyso (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Z gory dzieki za pomoc Dodam ze probowalem nawet zapisywac uzytkwonikow i firmy w jednej tablicy ale potem mialem problem z sytuacja, w ktorej tusr odwolywal sie do siebe samej bo firma moze miec uzytkownikow :/ Ten post edytował Nekro 7.01.2008, 22:05:16 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 36 Pomógł: 2 Dołączył: 3.01.2007 Skąd: Żory Ostrzeżenie: (0%) ![]() ![]() |
Czyli sugerujesz zeby polaczenie zrobic tylko miedzy user -> company a tabele tcontactinfo nie laczyc z zadna z nich (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Czyli powiedzmy w skrocie cos takiego: tcompany: id ... tusr: id: tcompany_id .... tcontactinfo id: typ: (gdzie typ to mail,www,telefon) wartosc: domyslny: I plus do tego odpowiednie metody do pobierania informacji kontaktowych w klasach dla tusr i tcompany?? Hmmm o tym nie pomyslalem....dzieki Tylko mnie jeszcze jedna rzecz zastanawia. JAk bede wyswietlal liste uzytkownikow a na niej: Imie, nazwisko, mail, telefon, to dla jednego uzytkownika beda odpalane dodatkowe 2 zapytania do bazy dotyczace maila i telefonu. Majac 10 uzytkownikow na liscie to tych zapytan bedzie 20....nie uwazacie ze to moze miec wplyw na wydajnosc aplikacji (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dodanie tych informacji do tabeli z uzytkownika nie wchodzi w gre bo zakladam ze uzytkownik moze miec wiele maili, a na liscie bedzie sie wyswietlala pozycja domyslna. Narazie nasuwa mi sie rozwiazanie ze obok listy uzytkownikow, bede pobieral jednym zapytaniem cala liste z contactinfo dla id pobranych uzytkownikow oraz z wartoscia "default = true", w ten sposob ze kluczami tablicy beda identyfikatory uzytkownikow |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 50 Pomógł: 1 Dołączył: 14.07.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Czyli sugerujesz zeby polaczenie zrobic tylko miedzy user -> company a tabele tcontactinfo nie laczyc z zadna z nich (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Tego nie powiedziałem. Jak masz potrzebe, to lącz (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Czyli powiedzmy w skrocie cos takiego: Kod tcompany: id ... tuser: id: tcompany_id .... tcontactinfo id: typ: (gdzie typ to mail,www,telefon) wartosc: domyslny: Hmm, w tej schemie nie widzę relacji pomiędzy (tuser|tcompany) a tcontactinfo. Jak masz dla przykładu rekord: w tuser o wartości:
Tylko mnie jeszcze jedna rzecz zastanawia. JAk bede wyswietlal liste uzytkownikow a na niej: Imie, nazwisko, mail, telefon, to dla jednego uzytkownika beda odpalane dodatkowe 2 zapytania do bazy dotyczace maila i telefonu. Majac 10 uzytkownikow na liscie to tych zapytan bedzie 20....nie uwazacie ze to moze miec wplyw na wydajnosc aplikacji (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) Dodanie tych informacji do tabeli z uzytkownika nie wchodzi w gre bo zakladam ze uzytkownik moze miec wiele maili, a na liscie bedzie sie wyswietlala pozycja domyslna. To zoptymalizuj, żeby pobierało informacje w 1 sql'u - nie podpowiem Ci jak (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Narazie nasuwa mi sie rozwiazanie ze obok listy uzytkownikow, bede pobieral jednym zapytaniem cala liste z contactinfo dla id pobranych uzytkownikow oraz z wartoscia "default = true", w ten sposob ze kluczami tablicy beda identyfikatory uzytkownikow Trochę na około, ale można i tak. Podsumowanie: po tych postach widzę, że masz problemy nie z samym symfony, co z propelem i budowaniem modelu danych. Proponuję Ci się dokształcić, w zakresie tworzenia relacji (może budowania diagramu encji - jak się widzi ułożone encje i relacje łatwiej się uczy). Następnie proponuję przejrzeć trochę dokumentację symfony odnośnie modelu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 12:27 |