問題タブ [nested-set-model]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - ノードの子を照会する簡単な方法はありますか?
私は最近、ネストされたセットモデルのがらくたを使用しています。私は、ほぼすべての有用な操作とビューのクエリを楽しく設計してきました。私が行き詰まっていることの 1 つは、ノードの直接の子 (および子のみであり、それ以上の子孫ではない!) を選択する方法です。
正直なところ、私はその方法を知っていますが、それには手に負えない量の SQL が含まれます。もっと簡単な解決策があると確信しています。
mysql - MPTT 結果セットのアイテムを並べ替えていますか?
MPTT (変更されたプレオーダー ツリー トラバーサル) モデルを使用して、MySQL テーブルに階層データを格納しています。(MPTT モデル: 別の説明は入れ子集合モデルです。)。私の質問は次のとおりです。ツリーでクエリの結果をソートする賢い方法を見つけた人はいますか? 「ORDER BY label」に進むこともできますが、結果セットは、ノードの場所やツリー内の深さに関係なく、ラベルでソートされます。
以下は、任意のノードのツリーを各ノードの深さで取得するために使用するクエリの例です。
http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/に従って。
もちろん、これは常に、ネストされたセット内の位置によってアイテムを並べ替えます。'lastName' や 'accountBalance' や 'town' などで注文したい場合はどうすればよいでしょうか? それは MySQL で実行できますか? それとも、スクリプト言語で結果をソートする必要があると思いますか?
sql - 深さの整合性を維持しながら、ネストされたセットを名前で並べ替える
ネストされたセットモデルを使用しています。このモデルは、後でWebサイトのサイトマップを作成するために使用されます。これが私のテーブル構造です。
名前だけでなく深さで並べ替えるにはどうすればよいですか?できます
ただし、それは何らかの理由で子供と親を一致させません。
ご覧のとおり、部門「d」には部門「a」の子があります。
ありがとうございました。
php - ネストされたセット モデル PHP ライブラリ
こんにちは、ネストされたセット モデルを使用して、サイトの製品カテゴリを管理する必要があります。MySQL でネストされたセットを処理するための優れたビルド済み PHP ライブラリを知っている人はいますか?
php - 隣接リスト対入れ子集合モデル
最適なツリー ソリューションを見つけるために、Adjacency List と Nested Set Model を調べています。
これまで、ネストされたセット モデルの主な利点の 1 つは、1 つの SQL クエリといくつかのコードを使用して完全なツリーを取得できることだと考えていました。ただし、ノードの更新/挿入は複雑で、ツリー全体が簡単に破損する可能性があります。
その後、次の 2 つの投稿に出くわしました。
http://www.sitepoint.com/forums/showthread.php?t=570360
次のコードにより、1 つの SQL クエリで Adjacency List を使用できるようになります。Adjacency List は更新が簡単で、ツリー全体が破損する可能性が低いように思えます。
このコードについてどう思いますか?
ツリー構造を反映する多次元配列を生成する
ノードがネストされた順序なしリストを準備する
php - ネストされたセット モデルを使用してテーブルに新しいノードを挿入するための SQL クエリの実行に失敗する
私は現在、ネストされたセット モデルを使用しており、MySQL サイト (MySQLでの階層データの管理) の記事を読みました。
記事から直接次のクエリを取得しました。
PHP と MySQLi 関数を使用して、このステートメントを次のように実行しています。
次のコードでは、構文エラーが発生します。
誰かがこれで私を助けてくれることを願っています。
mysql - ネストされたセット モデルでの兄弟の順序付け
MySQL で、ネストされたセット モデルの問題に直面しています。サブツリーを別の親に挿入、削除、移動できます。すべて正常に動作します。
しかし、兄弟を注文する方法がわかりません。たとえば、私はこれらの兄弟を持っています:
A、B、C、D、E
そして、私はこれを取得して、Dの後にBを移動したい:
A、C、D、B、E
挿入、削除などのための大量のストアド プロシージャを見つけましたが、兄弟を注文するストアド プロシージャは 1 つもありませんでした。私が見つけた唯一のものは兄弟を交換するための手順ですが、それは私が達成したいことではありません.
独自のものを作成しようとしましたが、複雑に見え、すべての場合に機能するとは限りません。
彼の兄弟の 1 人の前または後にノードを移動する方法を知っていれば、これは大歓迎です。
jquery - jqueryは、ネストされたセットモデルに新しいliを追加します
新しい li 要素を入れ子集合モデルの特定の位置に挿入する最良の方法は何ですか?
たとえば、次のリストです。
#list_2 の子として新しい li を挿入したいとしましょう。次のように実行できます。
しかし、親が #list_1 または #list_4 になる場合は機能しません。
entity-framework - EF Code-First とネストされたセット
データベース内にネストされたセット モデルを作成したいと考えています。しかし、Entity Framework Code-First を使用して実装を開始する方法がわからないため、問題があります。
私がそのようなクラスを持っているとしましょう:
私のモデルでは、現在のSubCategoriesコレクションが必要です。ただし、 SubCategoriesコレクションにサブカテゴリを追加/削除するときに、左右のプロパティの自動(暗黙的)更新を実装したいと考えています。
出来ますか?
事前にご回答いただきありがとうございます。
一番!
mysql - MySQLの入れ子集合モデルとマテリアライズドパス
非常に限られた量の技術的知識でmysqlを使用して私の最初の大きな(っぽい)プロジェクトを始めたばかりです。ツリー階層をどのように表現するかという非常に一般的な質問に直面しています。私はグーグルをかなり広範囲に経験し、入れ子集合モデルを使用してプロジェクトを描き始めましたが、左と右の列の間には少なくとも1000の値があります。深く掘り下げる前に、経験豊富な人が何を勧めるかについての基本的な理解を得たいと思いました。
私のプロジェクトには、製品メーカーを絞り込むための検索機能で使用される4つのレベルのノードが含まれます。各レベルにはいくつかのオプションがあります。1つのパスは次のようになります。
- 仕様グループ(親)
- 施設建設(5つのオプションのうちの1つ)
- コンクリート(20のオプションのうちの1つ)
- プレキャストコンクリート(10個中1個のオプション)
- 基準に適合するメーカーの検索リスト
- プレキャストコンクリート(10個中1個のオプション)
- コンクリート(20のオプションのうちの1つ)
- 施設建設(5つのオプションのうちの1つ)
すべてのノードがデータベースに追加された後、少なくとも数年間はノードが変更されるとは思いません(これらは、業界標準であるマスタードキュメントからのものです)。メーカーのリストは(願わくば)頻繁に追加されます。
正しい道を歩み始めるための助けと、関連資料へのリンクをいただければ幸いです。
ありがとう!