Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
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
Merci d'avance
Hors ligne
il me semble que tu peux définir le membre _cols de la table comme un tableau associatif 'alias' => 'colonne'
A+JYT
Hors ligne
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
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
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
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
Pages: 1