問題タブ [nested-sets]

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.

0 投票する
1 に答える
1076 参照

ruby-on-rails - Rails、Restful Routes、およびAwesome Nested Set

私は基本的に:wesomeネストされたセットを使用するツリーであるデータ構造を持っています:

私が達成したいのは次のようなルートです

別のコントローラーを作ることで偽造できることは知っていますが、少しドライではないようです。これを行うためのより良い方法はありますか?

0 投票する
2 に答える
987 参照

sql - ネストされたセット内のレベル内のノード数を数える

Ruby (Ruby on Rails) を使用しており、ネストされた約 2000 ノードのセットがあります。各ノードは 2 つの子のみを持つことができます。

各レベルにいくつのノードがあるかを判断する最良の方法は何ですか? これを行うには、兄弟を探してツリー全体をクロールする必要がありますか?

ありがとう!

0 投票する
8 に答える
21998 参照

sql - MySQL ネストされたセット - ノードの親を見つける方法は?

次の列を使用して、ミルのネストされたセットの階層タイプをセットアップしました。

テーブル名:

列:

ノードのを決定するためのクエリを知っている人はいますか?

これを追跡するためにテーブルにparent_id列もあると便利な場所をいくつか読みましたが、冗長に見え、追加時にクエリが誤って実行された場合、ネストされたセットと同期しなくなる可能性があるようです/セット内の何かを削除/移動します。

0 投票する
1 に答える
2139 参照

forms - symfony: モデルの翻訳 + ネストされたセット

Doctrine で Symfony 1.2 を使用しています。2 つの言語に翻訳された Place モデルがあります。この Place モデルには、ネストされたセットの動作もあります。

別のノードに属する新しい場所を作成する際に問題が発生しています。2 つのオプションを試しましたが、どちらも失敗します。

1 オプション

フォームをマージすると、place_id フィールド ID の値が配列になります。IDを持つ実際のオブジェクトを待っているためだと思います。place_id='' を設定しようとすると、別のエラーが発生します。

2 オプション

エラーは次のとおりです。

SQLを見ると、IDが定義されていません。したがって、重複レコードになることはありません(一意のキー(id、lang)があります)

何が起こっている可能性がありますか?

ありがとう!

0 投票する
1 に答える
376 参照

symfony1 - バランスの取れたツリーを作成する NestedSet を推進する

Propel の NestedSet 機能を使用しようとしています。ただし、ツリーが作成されたときにバランスが取れているように挿入することについて何かが欠けています(つまり、水平に塗りつぶします)。

次の要素があるとします。

r2c3 を r1c2 の最初の子として挿入したい (つまり、行 3 から開始する前に行 2 を埋める)。

これに対する私の最初の試みは、この関数を作成することでした:

ただし、これにより、必要に応じて r1c2 ではなく、r2c1 に子が挿入されます。

どういうわけか、次の利用可能な場所でエントリをツリーに挿入する方法はありますか?

ティア・マイク

0 投票する
1 に答える
360 参照

php - ネストされたセット モデルは、多くのカテゴリ (多対多) の記事で機能しますか?

私は長い間階層データに隣接モデルを使用しており、昨日ネストされたセットについて読むまで、ツリーをトラバースするより効率的な方法をインターネットで検索していました。私はそのアイデアが好きでしたが、いくつかの疑問があります........

ネストされたセット モデルを多対多の関係に使用できるかどうかを知りたいと思いました。たとえば、記事が複数のカテゴリに属する​​場合。

私はインターネットでいくつかの調査を行いましたが、この燃える質問に対して意味のある結論を見つけることができなかったので、皆さんがこれに光を当てることができれば本当に感謝しています.

前もって感謝します!

0 投票する
3 に答える
2890 参照

sql - Mysql: ネストされたセット ツリーでのスーパー ノード検索の最適化

ネストされたセット モデル (テーブル:プロジェクト) に階層データがあります。

私のテーブル(プロジェクト):

プリティプリント:

ノード 3 (その lft 値を知っている) の最も近いスーパー ノードを見つけるには、次のようにします。

これにより、ノード 3 までのパスにあるプロジェクトのリストが表示されます。次に、結果の MAX(projects.lft) をグループ化して検索することにより、最も近いスーパー ノードを取得します。ただし、このクエリを高速に実行できないようです。定義したインデックスは使用されません。EXPLAIN 言います:

Mysql は使用するインデックスを理解していますが、それでも 10 行すべて (または実際のテーブルでは 100k) をループする必要があります。

MySql でこのクエリを適切に最適化するにはどうすればよいですか? その下にテスト スクリプトを含めます。

0 投票する
1 に答える
3293 参照

asp.net - 複数のルートとフィルタリングを使用してネストされたセット モデルをクエリする方法

同じテーブル内のツリーなど、複数のルートを持つネストされたセット モデルをどのようにクエリしますか? 現在、すべてのサブツリー ノードのルート ノードの ID を示す「ルート」と呼ばれる追加の列を追加しましたが、適切な順序でそれらを取得するための SQL がわかりません。

MySQL での階層データの管理という記事を参照しています。

通常、アイテムを順番に取得するクエリは、左の葉の値の順序ですが、複数のルートがあると、複数の「left:1」が次々と作成され、ツリーが壊れる可能性があります。

現在、SQL とはまったく関係のないソリューションを使用しています。C#コードでそれらを再配置しましたが、SQLでそれを行う方法があり、Webサーバーで費やした時間を節約できるかどうか疑問に思っています

最後の質問です。フィルターがあり、ツリーから一部のデータを除外する場合、どのように対処しますか?

言う

  • タスク 1 (進行中)
    • タスク 2 (アクティブ)
      • タスク 3 (アクティブ)

ステータスが「アクティブ」のすべてのツリーを表示するフィルタの場合、どうしますか?

0 投票する
1 に答える
944 参照

nested-sets - スレッド化されたコメントシステムのネストされたセット-複数のルート?

トピックにスレッド化されたコメントシステムを実装しています。つまり、トピックがあり、各トピックにスレッド化されたコメントがあります。

ネストされたセットは、一般的な方法のように見えますが、各スレッドのルートをどのように実装する必要がありますか?例えば:

  • コメントは、1つの大規模なネストされたセットである可能性があります。私は間違っているかもしれませんが、1本の木としてはすべて遅くなるようです。

  • コメントには、トピックごとに1つのルートスレッドを含めることができます。しかし、その場合、トピックごとに空白のルートを作成する必要があるように思われます。空白のルートを持つことは奇妙に思えます。

  • 各第1レベルのコメントはルートになる可能性があります。これにより、空白のルートが削除されますが、ルートスレッドが大量に存在するようで、50個の第1レベルのコメントを含むページをレンダリングするには、50個のクエリを実行する必要があります:S。

私はここで何かが欠けていますか、これを行うためのより良い方法はありますか?私は空白の根に傾いていますが、それは完全に正しくないようです

ありがとう。

0 投票する
1 に答える
371 参照

php - MySQL でネストされたセットを処理するための PHP ライブラリ

この記事を読みました MySQLでの階層データの管理

この記事の最後では、MySQL でネストされたセットを処理するための PHP ライブラリについて説明しています。

彼が話しているPHPライブラリを知っている人はいますか?