Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Skrypty obsługi baz danych _ [Doctrine2] Wiele tabel

Napisany przez: cim 3.03.2014, 23:11:04

Witam,

chcę przechowywać w bazie dane adresowe osób i firm. Mam tabelę 'firmy', tabelę 'osoby' i tabelę 'adresy' z danymi adresowymi osób i firm. Problem w tym w jaki sposób powiązać tabelę adresów jednocześnie z osobami i firmami za pomocą adnotacij Doctrine2? W dokumentacji (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/association-mapping.html) nie widzę nic oprocz powiązań w oparciu o id rekordów, a tutaj potrzebowałbym jeszcze dodać typ w adresie żeby wiedzieć, czy ID powiązanego rekordu jest z tabeli osoby czy firmy. Znacie jakieś rozwiązanie? ID adresu w tabeli osób i firm nie rozwiązuje problemu, bo potrzebuję dwukierunkowe powiązanie.

Dzięki,
pozdrawiam

Napisany przez: Lysiur 4.03.2014, 09:51:58

Zainteresuj się powiązaniem @ManyToMany, co da Ci mniejwięcej:

osoba (id, ...) -> osoba_addresy ( osoba_id, adres_id) <- adresy (id, ...) i dla firm analogicznie.

Napisany przez: pyro 4.03.2014, 15:38:11

Bounty i Snickers są batonami, jednak Bounty nie zapakujesz do paczki ze Snickersami ani vice-versa.

Mam nadzieję, że aluzja wystarczająco wymowna i zrozumiała wink.gif

Napisany przez: cim 11.03.2014, 10:45:18

@pyro, niestety dla mnie niezbyt wymowna, pseudokod jednak byłby lepszy wink.gif

Pozdrawiam

Napisany przez: YourFrog 11.03.2014, 12:14:46

On ci powiedział że źle zaplanowałeś bazę. Dla ludzi powinna być odzielna tabela, a dla firm odzielna.


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)