|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Membre éclairé
![]() Inscription : avril 2004 Messages : 328 ![]() |
Bonjour,
J'ai besoin, pour stocker des opérations, d'utiliser le behavior Doctrine : NestedSet. Mais je rencontre deux problèmes. Le premier, est la méthodologie pour stocker des objets et enregistrer leurs relations hiérarchiques. J'ai beau utiliser des :
Code :
Code :
L'autre problème me vient de l'utilisation de la méthode getChildren. Dans mon cas d'utilisation, je veux récupérer l'ensemble des enfants d'un noeud et afficher leur valeur : Code :
Code :
Si quelqu'un avait des idées, merci !! |
||||||||
|
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Le message est passé a la trappe.
Je crains que le nombre de spécialiste, ici, ne soit très limité sur ce behavior. A part si le code (que je n'ai pas inspecté) du fechTree fait des écritures sur la base, ne je vois pas. Sauf à considérer qu'il forcerait l'écriture d'un éventuel cache, mais alors, pourquoi ta lecture ne le ferait-il pas aussi ? D'autant que j'avoue ne pas bien comprendre le code que tu utilises, ni l'intérêt d'utiliser une structure de bdd pour stocker ceci. Est-ce que parser une chaine : "3 * ( 1 + 2 )" ne serait pas plus simple à stocker et gérer ? Dans le pire des cas, créer un environnement d'objets "emboitables" et sérialisable pour ne stocker que la partie sérialisée ? J'ai un peu l'impression d'avoir vu passer un boulet au dessus de la tête d'une mouche décoiffée
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | |
|
Membre éclairé
![]() Inscription : avril 2004 Messages : 328 ![]() |
Bonjour Michel,
Merci d'avoir pris le temps de répondre Citation:
En ce qui concerne l'intérêt, le code proposé ici n'est qu'une méthode pour une série de tests unitaires. Ce que je cherche à stocker n'est pas une expression du type 1+(2*3) mais une hiérarchie entre objets métiers. Bien que ce soit le premier problème le plus bloquant, merci de la piste pour le second !! J'ai tendance à croire que la vérité se trouve là |
|
|
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Je te laisse mener les recherches, sur que tu nous fera part de tes conclusions.
Et tant pis pour la mouche on va lui acheter un peigne
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#5 |
|
Membre confirmé
![]() ![]() Vivian PennelDeveloppeur Symfony | JSF/Seam Inscription : août 2004 Messages : 173 ![]() |
L'intérêt du behavior est de simplifier les requêtes sur structure hiérarchique.
Pour que ceci fonctionne correctement notamment ton problème de getChildren() il faut hydrader les objets hiérarchiquement, via Doctrine_Core::HYDRATE_HIERARCHY ou fetchTree() plus directement. Ensuite pour tes problèmes d'insertions à l'envers, il faut bien comprendre comment fonctionne la structure d'un arbre SQL, pour ca je te conseille de lire cet article http://sqlpro.developpez.com/cours/arborescence/
__________________
Mon blog : http://blog.developpez.com/vivian-pennel/ |
|
00
|
Copyright © 2000-2012 - www.developpez.com