Question

J'ai un modèle de données existant dans lequel je peux renommer librement des éléments qui correspondent Conventions de CakePHP . J'ai un type de nœud de graphe, où un nœud peut avoir un nombre arbitraire de nœuds enfants et un nombre arbitraire de nœuds parents (relations unidirectionnelles).

Voici la table des nœuds, en suivant les conventions de CakePHP:

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

Ma question est la suivante: à quoi devrait ressembler la table de jointure? Voici à quoi cela ressemble maintenant:

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

Et ce que la documentation implique, cela devrait être:

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

Notez que deux noms de colonne sont identiques, ce qui ne fonctionnera évidemment pas. Comment appeler ces deux colonnes? Ou bien les conventions de CakePHP ne peuvent-elles pas gérer cette situation sans configuration?

Était-ce utile?

La solution

Comme neilcrookes l'a noté, il y a quelques articles sur cela sur le web qui expliquent cela dans CakePHP. Ici est l'un d'entre eux, en utilisant User HABTM User (amis) comme exemple.

Dans cet article lié, vous pouvez tout ignorer après la définition de la classe User si vous ne voulez pas paginer dans le modèle.

Autres conseils

Si un nœud a des nœuds enfants, ces nœuds enfants ont-ils automatiquement le premier nœud en tant que parent?

Cette relation peut être similaire à une relation d’utilisateur à utilisateur, symbolisant la notion commune d’ami dans les réseaux sociaux. Suggérez que vous ayez un google autour pour les modèles de données utilisateur / ami pour voir si cela aide.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top