質問

既存のデータモデルを使用して、 CakePHPの規則。ノードに任意の数の子ノードと任意の数の親ノードを持たせることができるタイプのグラフノードがあります(一方向の関係)。

CakePHPの規則に従うノードの表は次のとおりです。

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

私の質問は、結合テーブルがどのように見えるかです。現在は次のようになっています。

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

そして、ドキュメンテーションがそれが意味するものは:

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

2つの列名が同じであることに注意してください。これは明らかに機能しません。これらの2つの列は何と呼ばれますか?または、CakePHPの規則は、設定なしではこの状況を処理できませんか?

役に立ちましたか?

解決

neilcrookesが指摘したように、CakePHPでこれを行うことに関するこれに関するいくつかの記事がWeb上にあります。 ここはその1つです。ユーザーHABTMユーザー(友人)を例として使用します。

そのリンクされた記事では、モデルのページ付けを行わない場合は、Userクラス定義の後のすべてを無視できます。

他のヒント

ノードに子ノードがある場合、それらの子ノードは自動的に最初のノードを親として持っていますか?

この関係は、ソーシャルネットワークの一般的な「友人」という概念を象徴する、ユーザーとユーザーの関係に似ている場合があります。ユーザー/友人のデータモデルにグーグルを使用して、それが役立つかどうかを確認することをお勧めします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top