Estoy tratando de construir un sistema de navegación usando una tabla de categorías con jerarquías. Normalmente, la tabla se define como sigue:MySQL y PHP - Creando relaciones secundarias múltiples
id (int) - Primary key
name (varchar) - Name of the Category
parentid (int) - Parent ID of this Category referenced to same table (Self Join)
Pero el problema es que yo requiero que una categoría puede ser niño a múltiples categorías padre .. Al igual que A tiene y pertenece a muchos relación (HABTM).
Sé que si hay dos tablas, categorías & elementos, utilizamos una tabla de unión categories_items para enumerar las relaciones HABTM. Pero aquí no estoy teniendo dos tablas sino solo una tabla, pero de alguna manera debería mostrar las relaciones HABTM consigo mismo. ¿Es esto posible usando una sola tabla? Si es así, ¿cómo? Si no es posible, ¿qué reglas (nomenclatura de tabla, campos) debo seguir al crear la tabla de combinación adicional?
Estoy tratando de lograr esto con CakePHP, si alguien puede proporcionar la solución de CakePHP para este problema, sería increíble. Incluso si eso no es posible, se agradece cualquier solución para crear una tabla de unión. Gracias por tu tiempo.
- Editar - Mi pregunta parece ser un poco confusa, así que estoy tratando de reformular lo que estoy buscando. En las relaciones tradicionales entre padres e hijos con autorreferencia (unión automática), cada elemento puede tener solo un padre. Lo que estoy buscando es simular una relación HABTM, es decir, múltiples padres para cada elemento.
Categorías & Elementos - Para definir HABTM, utilizamos categories_items join table.
Si dentro de las categorías necesito HABTM, ¿qué debo hacer?
u puede guardar los valores múltiples en un campo por ellos separados por comas o algún separador –
1 pregunta interesante :-) – richsage
me encontré con esto mientras que buscando en Google, http://n2.nabble.com/Saving-self- referencial-HABTM-relationships-td1126141.html, he tratado de replicar lo mismo, pero aún así Cake no está captando la asociación. Alguna idea, alguien? – Ashok