![]() |
![]() |
![]()
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: 50 Pomógł: 1 Dołączył: 14.07.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Heh, Nekro trochę mało zgrabnie to napisałeś, ale chyba wiem co miałeś na myśli.
Cytat tcompany 1 ------- n User Jak widać, jest to łączenie 1 do wielu. Czyli załatwiamy to zgrabnie w schema.yml. (jak nie wiesz, to proponuję poczytaj w dokumentacji - jest to podstawa) Kod </span><span class="postcolor">tuser.id 1------n tcontactinfo.id tcompany.id 1-------- n tcontactinfo.id</span><span class="postcolor"> Rozwiązań wiele. Osobiście proponuję utworzyć w wygenerowanej klasach Tuser i Tcompany metodę getContactInfo(). A tam cóż innego jak coś w stylu (np. dla Tuser): Kod public function getContactInfo() { $c = new Criteria(); $c->add(Tuser::TYP, 'user'); $c->add(Tuser::USER_OR_COMPANY_ID, $this->getId()); return TContactInfoPeer::doSelect($c); } oczywiście nazwy wziąłem z kosmosu. Odnośnie generatora Panowie, proponuję zabierać się za niego, tylko gdy będzie dobrze "obudowany" model w odpowiednie metody. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 18:39 |