Ir sekojošs query:
SELECT CONCAT( 15 *(COUNT(parent.id) - 1),'') AS spacer
FROM
menu AS node,
menu AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node.id
ORDER BY node.lft //// vai pēc secības node.seciba
LIMIT $pg, $limits
1. Visu bezgalīgo menu tree izvada kā vajag, ir ok.
2 LIMITs darbojas kā vajag, ir ok.
BET
3. Nevaru veikt ORDERu pēc secības, ja veicu tad menu tree sajaucas. Katram menu līmeni ir sava secība.
Piem: ORDER BY node.lft
nosakums | seciba |
aa |1
--aa |1
--bb |2
zz |2
--cc |1
--dd |2
Piem: ORDER BY node.seciba
nosakums | seciba |
aa |1
zz |2
--aa |1
--cc |1
--bb |2
--dd |2
Kāds varētu būt risinājums.
Menu tree ideja ir smelta no
http://dev.mysql.com/tech-resources/articles/hierarchical-data.html | The Nested Set Model