私はこのようなテーブル構造を持っています
mysql> SELECT id, name, parent_id FROM categories;
+-------+------------+-----------+
| id | name | parent_id |
+-------+------------+-----------+
| 15790 | Test | 0 |
| 15791 | Test2 | 0 |
| 16079 | Subtest | 15790 |
| 16080 | Subtest 2 | 15790 |
| 16081 | Subsubtest | 16079 |
+-------+------------+-----------+
今、私はすべての子供と兄弟の親を調べて、削除のために正しい順序でそれを返したいと思います。
したがって、この場合の私の出力は次のようになります。
Array
(
16081,
16080,
16079,
15791,
15790
)
親IDを逆にするだけでは削除できません。これは、ツリーをしっかりと歩いて戻る必要があるためです。
また、テーブルの構造を変更することはできません/許可されていません。したがって、一種のインデックスを作成する必要があります。