- 1
[Opened] DAO
Posted by jam on 06/11/2008 16:06
Bonjour, je ss débutant et je coince. J'ai créé une DAO qui me renvoie une liste de record que j'envoie à un template par findAll. le template fait un foreach sur l'objet envoyé et affiche les éléments désirés. Comment à partir du template appeler , à chaque itération , une action du controller pour aller chercher les elts d'un autre DAO ?
Merci.
[Opened] Re: DAO
Posted by bballizlife on 06/11/2008 16:13
Je pense que tu as 2 solutions ici :
- dans ta première DAO, si c'est possible, tu récupère les properties de l'autre table avec une jointure (cf la doc jDao. Ainsi tu auras de suite à disposition dans ton template un objet contenant les propriétés que tu as besoin à chaque itération.
- sinon à chaque itération tu peux aussi appeler une zone en lui passant les bons paramètres, qui affichera ce que tu as besoin. Sans passer par un controller donc.
N'importe comment c'est dans la doc
[Opened] Re: DAO
Posted by laurentj on 06/11/2008 17:33
Salut,
Ton problème ici est que tu veux faire du code métier dans ton template. Et ce n'est pas le but du template. Le template, c'est une partie de la vue du pattern MVC. La vue ne s'occupe que d'affichage.
Bref, si tu veux utiliser d'autres données, il faut que tu les prepares en dehors du template, l'idéal étant dans une classe metier (ou une zone éventuellement).
Le principe de MVC c'est : le contrôleur appelle les classes métiers/dao (le Modèle dans MVC) en leur donnant éventuellement des paramètres, et récupère les données , et les passe au template et/ou la réponse.
À part ça, tu ne peux pas récupérer une liste de tuples au travers d'un enregistrement dao. (pas encore de support des relation n-n dans les daos)
[Opened] Re: DAO
Posted by jam on 06/12/2008 14:15
Merci pour vos réponses.
Donc pour résoudre mon pb je dois dans le foreach du template appeler une zone avec paramètre si j'ai bien compris ?
Sinon par curiosité y-a-t'il un moyen de tout préparer dans le controleur ? (par exemple effectuer un foreach sur le 1er dao (si c possible) dans le controleur puis a chaque itération appeler un 2eme DAO pour avoir les attributs d'une autre table et envoyer le tout à un template).
- 1