Sergey M Nikitin
16.01.2008, 18:48
Представим что есть каталог вида при этом вложенность у него переменная
+ Узел 1
+-+ Узел 2
+- Узел 3
+ Узел N
Можно ли как-то средствами TS сделать (без USER func) в CONTENT либо RECORDS собрать все записи дочерних узлов, другими словами чтобы в узле 1 возваращались все записи с PID 1,2,3 узла, во втором 2,3 и т.д., в следствии того что вложенность у нас не известной величины то вариант pidInList.cObject = CONTENT (и выборка всех узлов с pidInList = this не подходит) так как надо двигатся бесконечно в низ по дереву, а не на один уровень.
Если реализоовать через USER то сталкиваюсь с такой проблемой что одним запросом к базе выбрать все дочернии узлы не реально (либо я еще не придумал такой запрос) приходиться рекурсивно проверять все узлы - приводит к тому что количество выборок более чем 3 уровня становятся в кол-ве всех узлов - что не есть гуд ... тормоза ... может все таки можно как то грамотно составить запрос к базе ?
У кого есть решение плииз помогите !
+ Узел 1
+-+ Узел 2
+- Узел 3
+ Узел N
Можно ли как-то средствами TS сделать (без USER func) в CONTENT либо RECORDS собрать все записи дочерних узлов, другими словами чтобы в узле 1 возваращались все записи с PID 1,2,3 узла, во втором 2,3 и т.д., в следствии того что вложенность у нас не известной величины то вариант pidInList.cObject = CONTENT (и выборка всех узлов с pidInList = this не подходит) так как надо двигатся бесконечно в низ по дереву, а не на один уровень.
Если реализоовать через USER то сталкиваюсь с такой проблемой что одним запросом к базе выбрать все дочернии узлы не реально (либо я еще не придумал такой запрос) приходиться рекурсивно проверять все узлы - приводит к тому что количество выборок более чем 3 уровня становятся в кол-ве всех узлов - что не есть гуд ... тормоза ... может все таки можно как то грамотно составить запрос к базе ?
У кого есть решение плииз помогите !