Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 25-09-2008 11:51:26

iLoLo21
Membre
Date d'inscription: 17-07-2008
Messages: 13

Dérivation de model et nom de table

Bonjour

je souhaite dériver mon model user. Ma table s'appelle user.

La dérivation de cette classe est censé taper sur une autre table d'une autre BDD qui ne porte pas le même nom : userCommon

Le souci c'est qu'il me génère une erreur : Primary key column(s) (id) are not columns in this table ()

Lorsque mes deux tables ont le même nom tout va bien. Mais des que je change le nom de la deuxième table, il ne semble pas prendre en compte ma variable $_name du model dérivé....

Une solution ?

merci

Code:

class User extends Zend_Db_Table_Abstract
{
    protected $_name = 'user';
    protected $_id = 'id';
}

class UserCommon extends User
{
    protected $_name = 'userCommon';
    protected $_id = 'id';
}

Dernière modification par iLoLo21 (25-09-2008 11:54:28)

Hors ligne

 

#2 25-09-2008 13:28:43

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

Re: Dérivation de model et nom de table

Hello,

Apparemment le problème est plutôt sur :

Code:

protected $_id = 'id';

de la table UserCommon.

La colonne 'id' est-elle bien présente dans UserCommon et est-ce bien la clé primaire ?

A+


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

Hors ligne

 

#3 25-09-2008 14:20:46

iLoLo21
Membre
Date d'inscription: 17-07-2008
Messages: 13

Re: Dérivation de model et nom de table

oui oui la colonne id est bien présente. J'ai déjà vérifié sad

Hors ligne

 

#4 25-09-2008 14:21:55

fte
Membre
Lieu: 06 13 83
Date d'inscription: 16-05-2008
Messages: 112
Site web

Re: Dérivation de model et nom de table

La doc
http://framework.zend.com/manual/en/zend.db.table.html
parle de $_primary :

Code:

protected $_primary =   array("user_id");

Hors ligne

 

#5 25-09-2008 14:24:40

iLoLo21
Membre
Date d'inscription: 17-07-2008
Messages: 13

Re: Dérivation de model et nom de table

elle parle aussi de

Code:

protected $_primary = 'user_id';

je en suis pas sur que cela change grand chose

Hors ligne

 

#6 25-09-2008 14:36:52

iLoLo21
Membre
Date d'inscription: 17-07-2008
Messages: 13

Re: Dérivation de model et nom de table

la commande

Code:

protected function _setupTableName()
    {
        $this->_name = 'userCommon';
        parent::_setupTableName();
    }

semble régler mon probleme mais à moitié seulement. le controlleur de la class user est appelé deux fois, ce qui fait que $this->_name est réinitialiser à 'user' juste apres avoir été initialisé avec 'commonUser'... Je comprend pas pourquoi

Hors ligne

 

#7 25-09-2008 14:41:05

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

Re: Dérivation de model et nom de table

Hello,

Tout à fait fte, c'est $_primary et pas $_id !

Code:

protected $_primary = 'id';

A+


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

Hors ligne

 

#8 25-09-2008 14:46:26

iLoLo21
Membre
Date d'inscription: 17-07-2008
Messages: 13

Re: Dérivation de model et nom de table

oui c'est une erreur de ma part dans le post. mais c'est bien $_primary dans le code.

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