Questo sembra semplice, ma non riesco a farlo bene:Molti-a-uno con più entità di destinazione
ci sono tre entità: Fruit
, Vegetable
e Snack
. Snack ha i campi id
, time
e food
. Il cibo è un riferimento a o un frutto o un ortaggio. Quindi è fondamentalmente una relazione molti-a-uno/uno-a-molti in quanto uno spuntino avrà sempre un solo cibo. Ma c'è più di una entità bersaglio.
Come mapparlo in Doctrine2?
Una soluzione semplice che avrei usato prima di conoscere Doctrine2 sarebbe utilizzare due campi: food_type
e food_id
. Ma come posso stabilire una connessione dal tipo di cibo all'entità corretta? Ho pensato a un array di JoinColumns ma non riesco a trovare un modo per connettere l'entità corretta. Ho anche dato un'occhiata alle superclassi mappate perché c'è un DiscriminatorColumn, ma sembra anche essere l'approccio sbagliato. Se ho capito bene, la superclasse non può essere un'entità in sé, quindi non posso creare un'entità alimentare.
Qualsiasi aiuto è apprezzato. Sono sicuro che mi manca qualcosa di semplice qui.
hai guardato [implementazione di doctrine dell'ereditarietà di una tabella singola] (http://docs.doctrine-project.org/en/2.0.x/reference/inheritance-mapping.html#single-table-inheritance)? –