|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||
|
Membre régulier
![]() Inscription : mars 2002 Messages : 204 ![]() |
Bonjour,
Mon problème est le suivant : Je voudrais avoir un modèle qui assure 2 fonctionnalité en se basant sur des Query ou des statement : 1 - Récupération de données à partir d'une requête sur plusieurs tables. Voici un exemple. dans ce cas, j'ai détourné le problème du nombre de tables par la création d'une vue dans ma Bd. Par contre, j'ai encore un problème. Code :
Par contre, quand je fais appel à cette fonction dans mon contrôleur avec les deux lignes suivantes : Code :
Code :
2- je voudrais faire des fonctions qui font appel à des procédures stockées dans ma bd pour faire des màj complexe. L'exécution des procédures stockées se fait par Code :
select ma_proc_stockee(param1, param2,...) |
||||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : mai 2004 Messages : 4 490 ![]() |
Bonjour,
Le 'fetch mode' par défaut est le mode associatif (Zend_Db::FETCH_ASSOC). Il faut donc que dans ta vue tu accèdes à tes champs par indice plutôt que par référence de champ d'objet, comme tu le faisais : Code :
<option value="<?php echo trim($moyens['moyen_id']); ?>"><?php echo trim($this->escape($moyens['libelle'])); ?></option>
__________________
FAQ XML ------------ « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser » Giacomo Leopardi |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : mars 2002 Messages : 204 ![]() |
Merci ça marche!!!
Mais j'ai une question plus générique Si je veux pas faire appel à des vue dans ma BD et lancer la requête directement depuis mon modèle, comment faire? J'ai pensé entre autre à faire Code :
class mMoyProc extends Zend_Db_Select {} Code :
class mMoyProc extends Zend_Db_Table {} Merci |
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Bonjour,
Pour ta fonction listetesteur, le fait de dériver de Zend_Db_Table ne t'apporte rien. Tu utilises uniquement cet héritage pour récupérer l'adaptateur de BDD par défaut... Si tu n'utilises pas ta classe mMoyProc autrement, alors tu n'as pas besoin de dériver d'une classe du framework. Pour faire des requêtes qui utilisent plusieurs tables, tu peux utiliser un Zend_Db_Select et sa méthode join : http://framework.zend.com/manual/fr/....building.join Bon courage |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : mars 2002 Messages : 204 ![]() |
Bonjour
Merci pour cette précision. Vous avez mis le doigt sur une des difficultés que j'ai rencontré. Comment récupérer l'adaptateur de BDD par défaut dans mon modèle si j'utilise Zend_Db_Select ? Merci |
|
|
00
|
|
|
#6 | |||
|
Expert Confirmé
![]() ![]() Inscription : mars 2006 Messages : 1 989 ![]() |
Citation:
Code :
Si tu as (vraiment) besoin d'accéder à cette propriété en dehors d'un objet Zend_Db_Table, tu peux toujours faire : Code :
$adapter = Zend_Db_Table::getDefaultAdapter(); Pour le récupérer, il suffit alors d'utiliser : Code :
$adapter = Zend_Registry::get('dbAdapter'); J'espère que ça répond à ton problème |
|||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com