無制限のカテゴリを持つデータベース テーブルを最適に設計する方法
マルチレベルのメニューの背景を作成しています
より良い書き方がわかりません。 。 。 。 。 。 。 。 。 。
フロントエンドとして jstree を使用する予定です。 。
jstree の基本的なデータ構造は rrreeattributes のカスタム属性、data はノードによって表示されるテキスト、状態値が閉じている場合、前に記号がありますノードの は、ノードが展開できることを示します。他の記述方法については、documentation.html の「データストア」セクションを参照してください。
jstree は子ノードを動的にロードします
したがって、基本データのストレージに加えて、テーブルにはエントリの所有権を示すフィールドが少なくとも 1 つ必要です
jstree の基本データ構造は、rrreeattributes のカスタム属性です。データはノードによって表示されるテキストです。状態値が閉じている場合、ノードの前にノードを展開できることを示すマークが表示されます。他の記述方法については、documentation.html の「データストア」セクションを参照してください。
jstree は子ノードを動的にロードします
したがって、テーブルには基本データの保存に加えて、エントリの所有権を示すフィールドが少なくとも 1 つ必要です
実際、データベース表現がどのように設計され、どのように設計されているかを知りたいですデータをフロントエンドまで走査します。 。フロントエンドによって走査されたデータはどのようにしてデータベースに入れられるのでしょうか? 。 。 。 。 。 。 。 。 。 。
現在のノード ID、親ノード ID、現在のノードのパス強度、ノード名
たとえば、コンピューター、オフィス > 完全なコンピューター > Ultrabook がある場合、データベースには 3 つのデータを保存できます
{ attributes: { id : "node_identificator", some-other-attribute : "attribute_value" }, data: "node_title", // Properties below are only used for NON-leaf nodes state: "closed", // or "open" children: [ /* an array of child nodes objects */ ] }
現在のノードID、親ノードID、現在のノードのパス強度、ノード名
たとえば、コンピュータ、オフィス>コンピュータ完成機>ウルトラブックが存在する場合、データベースには3つのデータを保存できます
{ attributes: { id : "node_identificator", some-other-attribute : "attribute_value" }, data: "node_title", // Properties below are only used for NON-leaf nodes state: "closed", // or "open" children: [ /* an array of child nodes objects */ ] }
親ノードの ID を指定するだけでよく、クエリは親ノードの第 1 レベルの子ノード