Cytat(Orzeszekk @ 5.12.2011, 04:11:40 )

Napisales ze z artykulem lub produktem, jezeli jeden komentarz nie moze sie odnosic zarowno do artykulu jak i do produktu to niech tabela comment ma jedną kolumnę z ID_komentowanego_obiektu, a druga kolumna w comment niech bedzie tinyint( watpie bys mial wiecej jak 256 typow a zawsze to pare bajtow do przodu), i niech oznacza typ komentarza (artykul/produkt).
jezeli moga sie odwolywac na raz do dwoch to tak jak kolega wyzej napisal.
Pozniej wystarczy zapisac artykul i produkt jako stałą np artykul_type=1 produkt_type=2.
Do obiektu rysujacego komentarze to juz twoja wola jak zrobisz. Jesli rysujesz je tak samo to po prostu przekazujesz obiektowi parametr type, a jezeli w rozny sposob to robisz 2 obiekty rysujace i 3 go nadzorce ktory zwraca odpowiedni obiekt w zaleznosci od typu.
Oj lekko mówiąc niezbyt to zgodne z modelem relacyjnych baz danych.

I Doctrine na coś takiego nie pozwoli.
@Piotrkus - zrób tak jak napisał @Mits.
Czyli:
1. w mapowaniu "article":
oneToMany:
comments:
targetEntity: Comment
mappedBy: article
2. w mapowaniu "product":
oneToMany:
comments:
targetEntity: Comment
mappedBy: product
3. w mapowaniu "comments":
manyToOne:
article:
targetEntity: Article
inversedBy: comments
product:
targetEntity: Product
inversedBy: comments
Dzięki temu będziesz mógł z komentarza dostać się do artykułu/produktu i na odwrót (relacja dwustronna)
article->getComments();
comment->getArticle();
coś w tym stylu.