EuGen пишет:
в таком случае мы о разных задачах. А первоначально было нужно построить дерево.
Видимо, потому Ваш пример не подошел для автора.
egir пишет:
от потомка к родителю, а не собирает всех потомков родителя
в таком случае мы о разных задачах. А первоначально было нужно построить дерево.
Видимо, потому Ваш пример не подошел для автора.
Я не знаю что реально нужно автору, но я писал пример судя из этого текста их мервого поста:
Функция должна искать своих "предков" до корневого(т.е. со значение родителя равного "0"), записывать в массив их idObject...
В нем написано найти предков потомка, а не наоборот. Если автор неверно поставил задачу, то тогда прошу прощения. А свой пример токо-что протестил, все работает. А вопрос оптимизации уже дело второе. Я бы делал таблицу связей, или настроил кеширование в мускуле и выделил под кеш запросов метров 300 RAM. И тогда было бы оптимальнее и быстрее слать запросы к БД чем работать с массивом в пару десятков тысяч элементов. А может еще и с мемкешем поигрался, вообще бы все летало.