Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 30-06-2008 21:30:23

Akis
Membre
Date d'inscription: 29-03-2008
Messages: 86
Site web

[Zend_Db_Table] (re)Définir le nom des colonnes ?

Bonsoir,

Lorsqu'on crée une classe model héritant de Zend_Db_Table_Abstract, les variables ont le même nom que le nom des champs en DB.

Est-ce qu'il y a un moyen simple pour définir d'autre nom ? Où est-ce qu'il faut faire sans cesse des alias ? (monchamp AS mc) Et encore, si ça marche en fait ^^


En espérant avoir été compris wink

Merci d'avance

Hors ligne

 

#2 30-06-2008 21:52:40

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

Re: [Zend_Db_Table] (re)Définir le nom des colonnes ?

il me semble que tu peux définir le membre _cols de la table comme un tableau associatif 'alias' => 'colonne'
A+JYT

Hors ligne

 

#3 01-07-2008 12:20:09

Akis
Membre
Date d'inscription: 29-03-2008
Messages: 86
Site web

Re: [Zend_Db_Table] (re)Définir le nom des colonnes ?

Ah oui merci, je viens de lire ceci dans la doc :

_setupMetadata() définit le nom de la base de données si le nom de la table est de la forme "base.table"; appelle describeTable() pour récupérer les méta-données; remplir le tableau $_cols avec les noms des colonnes reçus via describeTable(). La redéfinition de cette méthode permet de spécifier soi-même les noms des colonnes de la table.

Je vais donc redéfinir la méthode describeTable pour remplir ce fameux tableau avec les alias.

Hors ligne

 

#4 01-07-2008 18:26:57

Akis
Membre
Date d'inscription: 29-03-2008
Messages: 86
Site web

Re: [Zend_Db_Table] (re)Définir le nom des colonnes ?

Finalement, je ne suis pas passé par la méthode desribeTable car c'est sur l'adapter.

Mais j'ai définis directement le tableau $_cols comme $_name ou encore $_primary.

Par ailleurs, je n'ai pas l'impression que mes select récupérer les noms dans les alias.

Je demande cela car avoir au final des variables du type : $this->user->user_login ou encore $this->album->album_id ; c'est un peu débile selon moi... Comment faites-vous de votre côté ?

Hors ligne

 

#5 01-07-2008 21:03:24

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

Re: [Zend_Db_Table] (re)Définir le nom des colonnes ?

jutilise des nom de champs qui suivent une nomenclature prfixée
chaque table se voit associé un préfixe usr pour la table utilisateur abm pour album etc.
les champs on donc la forme usr_id usr_name usr_date abm_name
ça ne me gène donc pas d'écrire
$usr-≥usr_id
de plus dans mes vue j'utilise des templates et je ne vais donc pas écrire
$this->user->usr_name mais
simplement {usr_name}
donc c'est finalement pratique d'avoir le préfixe
A+JYT

Hors ligne

 

#6 02-07-2008 17:35:48

Akis
Membre
Date d'inscription: 29-03-2008
Messages: 86
Site web

Re: [Zend_Db_Table] (re)Définir le nom des colonnes ?

Ouep d'accord...

Je ne vais pas trop me casser le cul de ce côté alors et je vais tout laisser comme ça.. On verra plus tard pour utiliser un système de template ou pas.

Merci Sekajin.

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