Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-12-2007 12:47:25

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

[Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

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 :

Code:

$bon->fetchAll()

Titulaire ou Suppléant -> n'affiche que leurs données :

Code:

$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

 

#2 14-12-2007 15:46:57

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

Je me réponds à moi même car il me semble avoir trouvé la solution avec ce code ci et les méthode magique :

Code:

    $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

 

#3 17-12-2007 12:45:54

Seb
Membre
Lieu: Thuin (Belgique)
Date d'inscription: 19-11-2007
Messages: 62
Site web

Re: [Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

Ton test a-t-il réussi? Ca m'intéresse.


Sébastien Bervoets

Hors ligne

 

#4 18-12-2007 07:58:58

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

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 :

Code:

$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

 

#5 05-01-2008 19:10:29

lesauf
Membre
Lieu: Yaoundé - Cameroun
Date d'inscription: 29-11-2007
Messages: 52
Site web

Re: [Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

Merci Manu. Je cherchais justement comment convertir un rowset en row big_smile

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

 

#6 06-01-2008 11:10:16

ManuB
Membre
Lieu: Auxerre
Date d'inscription: 17-10-2007
Messages: 49

Re: [Résolu][1.0.3][Zend_Db] Selection d'enregistrement avec jointure

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

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages