В настоящее время в моем приложении есть одна таблица, которая доставляет мне немного хлопот. Проблема под рукой, у меня есть объект значения, который сопоставлен с этой таблицей. Когда данные возвращаются мне в виде массива объектов-значений, я должен затем пройти через этот массив и начать рекурсию, сопоставив ParentID с родительскими ObjectID.
Столбец ParentID имеет значение null (действует как родитель) или содержит значение ObjectID.
Я знаю, что должен быть лучший способ создать эту структуру данных, чтобы мне не приходилось делать рекурсивные циклы, чтобы сопоставить ParentID с их ObjectID.
Любая помощь с этим очень ценится.
Вот таблица в форме описания:
+----------------+------------------+------+-----+---------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+------------------+------+-----+---------------------+-----------------------------+
| ObjectID | int(11) unsigned | NO | PRI | NULL | auto_increment |
| ObjectHeight | decimal(6,2) | NO | | NULL | |
| ObjectWidth | decimal(6,2) | NO | | NULL | |
| ObjectX | decimal(6,2) | NO | | NULL | |
| ObjectY | decimal(6,2) | NO | | NULL | |
| ObjectLabel | varchar(255) | NO | | NULL | |
| TemplateID | int(11) unsigned | NO | MUL | NULL | |
| ObjectTypeID | int(11) unsigned | NO | MUL | NULL | |
| ParentID | int(11) unsigned | YES | MUL | NULL | |
| CreationDate | datetime | YES | | 0000-00-00 00:00:00 | |
| LastModifyDate | timestamp | YES | | NULL | on update CURRENT_TIMESTAMP |
+----------------+------------------+------+-----+---------------------+-----------------------------+e