Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-05-2009 16:43:14

manu32320
Membre
Date d'inscription: 29-04-2009
Messages: 17

[resolu][zf 1.7]clé primaire compose

Bonjour,
j'ai crée une classe "modele" mais je n'arrive pas à faire ma clé primaire composé .
ce doit être untableau mais :

*
* @package application
* @subpackage models
*/
class TPropalmodele extends Zend_Db_Table_Abstract
{
    /**
     * Nom de la table
     *
     * @var string
     */
    protected $_name = 'propalmodele';
   
    /**
     * Nom de la clé primaire
     *
     * @var string
     */
    protected $_primary = array('idpropal','idmodele');
   
    /**


puis dans mon controlleur :

  $propalmodele = $this->_propalmodeleTable->find((int)$params['r'],(int)$params['m'])->current();


la clé n'est pas reconue !!
cordialement
manu

Dernière modification par manu32320 (16-05-2009 19:10:06)

Hors ligne

 

#2 14-05-2009 16:53:04

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [resolu][zf 1.7]clé primaire compose

$propalmodele = $this->_propalmodeleTable->find(array('idpropal' => $params['r'], 'idmodele' => $params['m']))->current();

Hors ligne

 

#3 15-05-2009 13:32:28

manu32320
Membre
Date d'inscription: 29-04-2009
Messages: 17

Re: [resolu][zf 1.7]clé primaire compose

Merci pour le code mais marche pas j'ai fais copier coller :

code :

          $propalmodele = $this->_propalmodeleTable->find(array('idpropal'=>$params['r'], 'idmodele' =>$params['m']))->current();

le message d'erreur :

exception 'Zend_Db_Table_Exception' with message 'Too few columns for the primary key' in C:\wamp\www\library\Zend\Db\Table\Abstract.php:1074

je remets mon modèle au cas où :



class TPropalmodele extends Zend_Db_Table_Abstract
{
    /**
     * Nom de la table
     *
     * @var string
     */
    protected $_name = 'propalmodele';
   
    /**
     * Nom de la clé primaire
     *
     * @var string
     */
    protected $_primary = array('idpropal','idmodele');
   
    /**

voila je bloque complètement juste une clé c'est .... gardons le sourrire.
j'ai un peu de pressions

Hors ligne

 

#4 15-05-2009 16:19:55

sekaijin
Membre
Date d'inscription: 17-08-2007
Messages: 1137

Re: [resolu][zf 1.7]clé primaire compose

bon et que dit la doc ?
A+jyt

Hors ligne

 

#5 15-05-2009 20:02:45

manu32320
Membre
Date d'inscription: 29-04-2009
Messages: 17

Re: [resolu][zf 1.7]clé primaire compose

ben voila :


15.5.2.2. Définir la clé primaire d'une table

Toute table doit posséder une clé primaire. Zend_Db_Table ne fonctionne pas avec les tables sans clé primaire. Vous pouvez les déclarer la(les) colonne servant de clé primaire grâce à la propriété protégée de la classe $_primary. Celle-ci peut être soit une chaîne, dans le cas d'une clé sur une colonne, ou un tableau de chaînes pour une clé sur plusieurs colonnes (clé primaire composée).


oups !...  je tente quelque chose de suite . mes champs étant des integers j'ai casté mais la doc parle de chaînes je suis sur cette doc
depuis hiers !!

Hors ligne

 

#6 15-05-2009 20:08:29

manu32320
Membre
Date d'inscription: 29-04-2009
Messages: 17

Re: [resolu][zf 1.7]clé primaire compose

Ben c'est pareil ...je cherche autre piste mais voie pas .

Hors ligne

 

#7 16-05-2009 09:59:28

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [resolu][zf 1.7]clé primaire compose

manu32320 a écrit:

ben voila :


15.5.2.2. Définir la clé primaire d'une table

Toute table doit posséder une clé primaire. Zend_Db_Table ne fonctionne pas avec les tables sans clé primaire. Vous pouvez les déclarer la(les) colonne servant de clé primaire grâce à la propriété protégée de la classe $_primary. Celle-ci peut être soit une chaîne, dans le cas d'une clé sur une colonne, ou un tableau de chaînes pour une clé sur plusieurs colonnes (clé primaire composée).


oups !...  je tente quelque chose de suite . mes champs étant des integers j'ai casté mais la doc parle de chaînes je suis sur cette doc
depuis hiers !!

Cela montre que : protected $_primary = array('idpropal','idmodele'); est bien écrit.

Je pense que sekaijin te demandais de regarder la doc du côté de find() : http://framework.zend.com/manual/fr/zen … table.find

Je dirais donc d'après la doc :

Code:

$propalmodele = $this->_propalmodeleTable->find(array($params['r'], $params['m']))->current();

A+

Dernière modification par mikaelkael (16-05-2009 10:00:02)


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#8 16-05-2009 16:22:53

manu32320
Membre
Date d'inscription: 29-04-2009
Messages: 17

Re: [resolu][zf 1.7]clé primaire compose

Bien j'avais regardé aussi du coté de find(), sans plus de précision ; j'ai enfin trouvé !
je mets la réponse pour d'autre :
dans le modèle la clé est correcte. la méthode find n'admet pas de tableau ...j'ai donc crée des variables intermediaires
$un = $params['r']; et $deux = $params['m']; puis le  find($un, $deux) => ça marche .
il y a peut etre mieux ...je recreuserais plus tard.
merci à tous.
manu

Hors ligne

 

#9 16-05-2009 19:43:01

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: [resolu][zf 1.7]clé primaire compose

Hello,

Ah oui tiens c'étais l'exemple d'en dessous : http://framework.zend.com/manual/fr/zen … e-compound

Désolé de t'avoir mis dans l'erreur.

A+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

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