![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
przygotowuje się do przepisania małego serwisu na Symfony i trafiłem na mały problem. W serwisie poza normalnymi użytkownikami i administratorami istnieją agenci którzy musza mieć zupełnie inne dane w bazie jak zwykli użytkownicy. O ile z samymi adminami i jednym typem użytkowników nie ma problemu, bo można dość łatwo rozszerzyć tabele sfGuardUser lub dodać nową z dodatkowymi danymi w relacji 1:1 to tutaj pojawia się już problem. Dodawać 3 tabele `agent` która będzie przechowywała dane agentów i była w relacji 1:1 z sfGuardUser nie ma sensu bo przy tworzeniu nowego użytkownika automatycznie tworzone będą odpowiednie rekordy w (przykładowo) myuser i agent, nie lubię niepotrzebnych wpisów w bazie, a przy tym rozwiązaniu i tak jeszcze musiał bym rozszerzyć sfGuardUser o pole np 'type'. Myślałem nawet o oddzieleniu panelu dla agentów od reszty aplikacji jednak nie wiem czy jest możliwość zmiany nazw tabel dla pluginu bez grzebania w zródłach, a wszystko musi być w tej samej bazie. Ktoś spotkał się z podobnym problemem lub ma pomysł jak go rozwiązać? Pozdrawiam, aze Ten post edytował aze 20.07.2010, 11:09:03 |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
sfGuardUser to tabela przechowująca dane niezbędne do logowania. Jeśli utworzysz odpowiednie grupy, to nie widzę problemu, aby tworzyć tabele profilowe osobno dla danej grupy użytkowników. Potem tylko zmień implementację metody getProfile() aby zwracała odpowiedni obiekt profilu.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 21.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Tylko czy przy takim rozwiązaniu nie będzie później problemów z wyszukiwaniem za pomocą Zend Lucene? Nie korzystałem z tego rozwiązania za wiele, a wolał bym nie mieć później jeszcze większych problemów z wyraźnym oddzieleniem wyników wyszukiwania użytkowników tylko w konkretnej grupie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 23:38 |