Ich hoffe, einige von Ihnen mysql Experten können mir helfen.mysql erhalten nur spezielle Daten für verschachtelte Set-Struktur
Wenn es eine Lücke im Baum gibt, dann will ich nicht die tieferen Kinder.
Beispiel:
root (depth 0)
sub-cat 1 (depth 1)
subsub-cat 1 (depth 2)
subsubsubsub-cat 1 (depth 4)
In diesem Fall wird ein Knoten in Tiefe 3 disable ist, ich nicht Knoten subsubsubsub-cat 1 und tiefer
Struktur benötigen:
id | parent_id | lft | rgt | depth | title
Standardabfrage:
select *
from categories
where lft >= '1' and lft < '10000'
order by lft asc
Vielen Dank!
Ein verschachtelter Satz existiert, so dass Sie nicht den ganzen Weg für spezielle Sachen überprüfen (es dauert nur jeden Knoten zwischen zwei Zahlen ist es nicht so wichtig, über Lücken), so dass dies nicht (einfach) möglich ist. Löschen Sie einfach alle untergeordneten Elemente, wenn Sie einen Knoten löschen (dies sollte ohnehin in einem Standard-Nested-Set-Algorithmus passieren). Wenn Sie die Knoten aus irgendeinem Grund erhalten möchten, verschieben Sie sie in eine andere verborgene (Unter-) Struktur oder fügen Sie eine Spalte hinzu und markieren Sie sie dann als unbenutzt/versteckt, anstatt sie zu löschen. – Solarflare
Danke, vielleicht ist es nicht möglich, aber ich möchte nicht die Kategorien löschen, ich möchte die Kinder verstecken, wenn die Elternkategorie deaktiviert ist. Zum Beispiel: Kleidung> Mens> Jeans> Slim Zeigen Sie nicht Slim im Baum, wenn Jeans deaktiviert. – Tom
Wie können Sie feststellen, ob ein Knoten deaktiviert ist? – Strawberry