Pregunta

Tengo un modelo de datos existente donde puedo cambiar el nombre de las cosas libremente para que coincidan con Convenciones de CakePHP . Tengo un tipo de nodo gráfico, donde un nodo puede tener un número arbitrario de nodos secundarios y un número arbitrario de nodos principales (relaciones unidireccionales).

Aquí está la tabla de nodos, siguiendo las convenciones de CakePHP:

Table: nodes
Column: node_id (INT)
Column: description (TEXT)

Mi pregunta es ¿cómo debería ser la tabla de unión? Aquí está lo que parece ahora:

Table: nodes_nodes
Column: parent_node_id (INT)
Column: child_node_id (INT)

Y lo que la documentación implica debe ser:

Table: nodes_nodes
Column: node_id (INT)
Column: node_id (INT)

Observe que dos nombres de columna son iguales, lo que obviamente no funcionará. ¿Cómo deberían llamarse estas dos columnas? ¿O pueden las convenciones de CakePHP no manejar esta situación sin configuración?

¿Fue útil?

Solución

Como se notó neilcrookes, hay algunos artículos sobre esto en la web sobre cómo hacer esto en CakePHP. Aquí es uno de ellos. usando el usuario HABTM User (amigos) como ejemplo.

En ese artículo vinculado, puedes ignorar todo después de la definición de la clase de Usuario si no vas a estar paginando en el modelo.

Otros consejos

Si un nodo tiene nodos secundarios, ¿esos nodos secundarios tienen automáticamente el primer nodo como padre?

Esta relación puede ser similar a una relación de usuarios a usuarios en la que la relación simboliza la noción común de "amigo" en las redes sociales. Sugiera que tiene un buscador de Google para modelos de datos de usuario / amigo para ver si eso ayuda.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top