Popoff
popoff.donetsk.ua
Drinki
Ужас %) Зачем так много кода? Упростить пример никак нельзя было?
stanlee
Другое дело, если Вы хотите выбрать одним запросом не один уровень, а сразу все дерево или отдельную его ветку и отсортировать его при этом не в такой последовательности, как это задано в самом дереве. Но это уже совсем другая задача. Она, как правило, не решается одним запросом. Не только в Nested Sets или Adjacency List. В Nested Sets есть возможность по крайней мере выбрать все дерево, упорядочив узлы так, как они расположены в самом дереве. В Adjacency List даже этого нельзя.
Сложности с сортировкой - это не самый большой минус Nested Sets.
Ужас %) Зачем так много кода? Упростить пример никак нельзя было?
Если честно, не совсем понятно, почему Adjacency List - это "на худой конец"? Он в чем-то хуже Nested Sets? Наверное, хуже, если умолчать о всех недостатках самого Nested Setsлибо на худой конец обычный Adjacency List (для начала).
stanlee
Это тебе так кажется У Nested Sets полно недостатков, о которых на этом форуме говорилось очень много.лучше чем Nested Sets я ничего не встречал
Ну почему же. Отличительная особенность Nested Sets по сравнению с Adjacency List как раз является то, что в самом дереве можно (именно *можно*, а не "только так и возможно") задавать порядок следования узлов в пределах уровня; в Adjacency List для этого нужно было бы вводить дополнительное поле. Но пользоваться этой возможностью совсем не обязательно: пожалуйста, можно сортировать в любом удобном порядке.но изза сортировки на уровне все летит в трубу
Другое дело, если Вы хотите выбрать одним запросом не один уровень, а сразу все дерево или отдельную его ветку и отсортировать его при этом не в такой последовательности, как это задано в самом дереве. Но это уже совсем другая задача. Она, как правило, не решается одним запросом. Не только в Nested Sets или Adjacency List. В Nested Sets есть возможность по крайней мере выбрать все дерево, упорядочив узлы так, как они расположены в самом дереве. В Adjacency List даже этого нельзя.
Сложности с сортировкой - это не самый большой минус Nested Sets.
рекурсия - это не изврат. Рекурсия - это естественное решение в данном случае. Просто большинство не слишком хорошо понимают, как работает рекурсия. И что бы оправдать свое непонимание говорят о том, что рекурсия - это извратрекурсия спасает но это же изврат