Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Re-bonjour,
Un autre petit soucis.... Je suis sûr comme d'habitude que lprsque je vais trouver ou que l'on m'aidera a trouver la solution je vais me dire que je suis "con"...
Mon problème...
Dans un contrôleur d'actions je souhaite initialisé les données de la vue par rapport aux type d'utilisateur connecté.
4 type d'utilisateurs
2 tables : Bons et Users
iduser en clé étrangère dans bon
idservices en clé étrangère dans Users
$bon est un objet Zend_Db_Table_Abstract
Admin -> affiche tout les bons donc :
$bon->fetchAll()
Titulaire ou Suppléant -> n'affiche que leurs données :
$where = array('iduser = ?' => $identity->iduser); $bon->fetchAll($where);
Responsable -> affiche toute les données liés aux utilisateurs de son service.
Idservice est enregistrer dans la table User.
Et c'est la que je coince... J'ai pourtant essayé pas mal de chose mais la... et plus je cherche plus je m'embrouille alors que je suis persudé que ca va etre d'un simplicité...
Le plus important est que je récupère bien un rowset afin que peu importe la facons dont mes donnée sont sélectionné, que je puisse les traités de la même fàçon dans ma vue...
Une petite aide la dessus serait la bienvenue... au pire je passerai par une vue dans MySQL.
Merci
Dernière modification par ManuB (05-01-2008 10:49:49)
Hors ligne
Je me réponds à moi même car il me semble avoir trouvé la solution avec ce code ci et les méthode magique :
$servicesTable = new Services(); $serviceRowset = $servicesTable->find($identity->idservices); $serviceRow = $serviceRowset->current(); $this->view->bons = $serviceRow->findManytoManyRowset('Bons','Users');
Je vais vérifier mais plus d'erreur dans le code, à vérifier le résultat des données affichées
Hors ligne
Bonjour,
Oui cela fonctionne bien parfaittement...
Une autre facon aussi de l'utiliser, avec les méthode magique qui n'était pas ce que je disais avant...
j'aurais pu faire :
$this->view->bons = $serviceRow->findBonsViaUsers(); // Testé et fonctionne
qui est la méthode magique.... mais le code précédent fonctionne bien...
Bonne journée.
Manu.
Dernière modification par ManuB (05-01-2008 10:49:18)
Hors ligne
Merci Manu. Je cherchais justement comment convertir un rowset en row
ManuB a écrit:
Code:
$servicesTable = new Services(); $serviceRowset = $servicesTable->find($identity->idservices); ->> $serviceRow = $serviceRowset->current();
Dernière modification par lesauf (05-01-2008 19:12:36)
Hors ligne
Bonjour,
Ravi de pouvoir t'aider mais j'apporte quelques précisions par rapport ton mesage...
Tu ne converti pas un Rowset en Row mais tu accèdes.
Les méthodes find() et fetchall() retournent un objet de type Zend_Db_Table_Rowset_Abstract qui lui est constitué d'une collection d'objets de type Zend_Db_Table_Row_Abstract.
Hors ligne
Pages: 1