J'ai une table (id, parent_id, data)
où parent_id
pointe vers une autre ligne dans la même table (ou est nulle).Des requêtes pour obtenir tous les ancêtres/descendants d'un arbre dans un db?
Existe-t-il un moyen standard pour interroger (1) tous les ancêtres d'un certain ID et (2) tous les descendants d'un certain ID?
Je le fais également en DBIx::Class
, donc s'il y a un moyen plus pratique de le faire avec ce module (ou un autre), j'aimerais beaucoup en entendre parler également.
EDIT: clarifie - tous les parents = tous les ancêtres, tous les enfants = tous les descendants.
Juste parents/enfants, ou tous les ancêtres/descendants? En outre, quelle saveur de SQL utilisez-vous? –
Vous cherchez à être un peu agnostique SQL; notre développement db est SQLite, mais la production sera probablement MySQL. – Carl
Voir aussi http://en.wikipedia.org/wiki/Nested_set_model – reinierpost