Sto provando a creare un sistema di navigazione utilizzando la tabella delle categorie con gerarchie. Normalmente, la tabella verrebbe definito come segue:MySQL e PHP - Creazione di più relazioni padre figlio
id (int) - Primary key
name (varchar) - Name of the Category
parentid (int) - Parent ID of this Category referenced to same table (Self Join)
Ma il problema è che ho bisogno che una categoria può essere bambino a più categorie padre .. Proprio come un ha e appartiene a più (HABTM) relazione.
So che se ci sono due tabelle, categorie & voci, usiamo una tabella di join categories_items per elencare le relazioni HABTM. Ma qui non sto avendo due tavoli ma solo una tabella, ma in qualche modo dovrei mostrare le relazioni HABTM a se stesso. È possibile utilizzare un solo tavolo? Se sì, come? Se non è possibile, quali regole (denominazione delle tabelle, campi) dovrei seguire durante la creazione della tabella di join aggiuntiva?
Sto cercando di ottenere questo risultato utilizzando CakePHP, se qualcuno può fornire la soluzione CakePHP per questo problema, sarebbe fantastico. Anche se ciò non è possibile, qualsiasi soluzione sulla creazione della tabella di join è apprezzata. Grazie per il tuo tempo.
- Modifica - La mia domanda sembra essere un po 'confusa, quindi sto cercando di rideterminare quello che sto cercando. Nelle relazioni genitore-figlio (self join) con riferimento personale (self join), ogni elemento può avere un solo genitore. Quello che sto cercando è simulare una relazione HABTM, cioè più genitori per ogni oggetto.
Categorie & Elementi: per definire HABTM, viene utilizzata la tabella di join di categories_items.
Se all'interno delle Categorie ho bisogno di HABTM, cosa devo fare?
u può salvare i valori multipli in un campo da loro separati da virgola o qualche separatore –
+1 domanda interessante :-) – richsage
Ho trovato questo mentre googling, http://n2.nabble.com/Saving-self- referenziale-HABTM-relationships-td1126141.html, ho provato a replicare lo stesso, ma ancora Cake non sta prendendo l'associazione. Qualche idea, qualcuno? – Ashok