Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 04-12-2012 16:28:29

roswellenshort
Membre
Date d'inscription: 06-09-2012
Messages: 12

$this->url et clé composée

Bonjour,
je cherche comment récupérer une occurrence d'une table ayant une clé composée.
Ce que je cherche à faire :
un tableau avec en option un bouton "clore" qui permet de modifier le statut d'un enregistrement via un contrôleur. Classique. Cependant, là où je coince, c'est que ma table possède une clé composée (numero et date)

voici le code (allégé)

Code:

 
foreach ($this->avurnavs as $avnav) { ?>
        <tr>
                    <td><?php echo $avnav->numerotation_avurnav.'-'.$avnav->annee_avurnav; ?></td>
                    <td><?php echo $avnav->message ; ?> </td>
                    <td><?php echo $avnav->date_emission_avurnav ; ?></td>
                                        (...)
                    <td><?php echo $avnav->trigramme_redacteur ; ?></td>
                    <td><a href="<?php echo $this->url(array('controller'=>'avurnav',
            'action'=>'edit', 'id'=>($avnav->numerotation_avurnav)));?>" title="Clore l'avurnav">
            <center><button class="btn btn-default btn-danger btn-primary" type="button">Clore</center></a></td>
                    
        </tr>

Là où je bloque quelque peu, c'est dans la partie     $this->url(array('controller'=>'avurnav',
            'action'=>'edit', 'id'=>($avnav->numerotation_avurnav)))
Que mettre dans l'id pour avoir à la fois le numero et la date ?
Merci d'avance en espérant avoir été assez clair.

Hors ligne

 

#2 04-12-2012 17:55:10

amiss
Membre
Lieu: Cesson-Sévigné
Date d'inscription: 08-05-2011
Messages: 115

Re: $this->url et clé composée

bonjour,
au niveau de la   vue on peut concaténer numero à date($avnav->numerotation_avurnav+date) pour reconstituer la clé composite.

Hors ligne

 

#3 05-12-2012 08:23:58

roswellenshort
Membre
Date d'inscription: 06-09-2012
Messages: 12

Re: $this->url et clé composée

En fait, il me faudrait l'inverse. C'est à dire depuis la vue, pouvoir récupérer dans un controleur la clé composite pour traiter l’occurrence et la mettre à jour. Par exemple récupérer le numero 1 datant du 05/12/2012 et non le 1 du 06/12. En mettant seulement le numero, je récupère les 2 enregistrements (ce qui est normal).

Hors ligne

 

#4 05-12-2012 12:27:52

amiss
Membre
Lieu: Cesson-Sévigné
Date d'inscription: 08-05-2011
Messages: 115

Re: $this->url et clé composée

roswellenshort a écrit:

En fait, il me faudrait l'inverse. C'est à dire depuis la vue, pouvoir récupérer dans un controleur la clé composite pour traiter l’occurrence et la mettre à jour. Par exemple récupérer le numero 1 datant du 05/12/2012 et non le 1 du 06/12. En mettant seulement le numero, je récupère les 2 enregistrements (ce qui est normal).

dans ce cas il s'agit de 2 paramètres(numéro et date) qui doivent être récupérés et non seulement du numéro  car les 2 paramètres interviendront dans la clause where de la requête pour pouvoir mettre à jour qu'une seule occurrence.
Dans ton helper de vue ($this->url) il te faut ajouter un second paramètres( date)

Code:

[lang=php]
<a href="<?php echo $this->url(array('controller'=>'avurnav',
            'action'=>'edit', 'id'=>1, 'date'=>'05-12-2012'));?>" edit </a>

Ensuite dans le controlleur associé tu peux récupérer les 2 paramètres GET pour faire le traitement desiré

Code:

[lang=php]
         $request=$this->getRequest();
         $id=$request->getParam('numero');
         $date=$request->getParam('date');

Hors ligne

 

#5 06-12-2012 15:56:43

roswellenshort
Membre
Date d'inscription: 06-09-2012
Messages: 12

Re: $this->url et clé composée

Merci Amiss. C'est exactement ce qu'il me fallait. Je ne parvenais pas à trouver la syntaxe.

Hors ligne

 

#6 06-12-2012 22:43:47

amiss
Membre
Lieu: Cesson-Sévigné
Date d'inscription: 08-05-2011
Messages: 115

Re: $this->url et clé composée

de rien

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