Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-04-2009 16:13:24

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

[Zend_Db][1.7.8] Object Row retourne un champs en type int

Bonjour à tous,

J'ai un souci, je vous explique :-)
J'obtiens apres un find()->current() un object de type Zend_Db_Table_Row_Abstract.
Je fais ensuite, tout bêtement un $Zend_Db_Table_Row_Abstract->feed_id et là le type de retour est int.

J'ai testé le type avec Zend_Debug::dump(), il n'y a aucun doute.
Je ne comprends pas comment est ce possible.
En théorie toutes les données de la base de données seront retournées en type string.

Je n'ai qu'un cas comme ca et il perssiste.

Avez vous une idée?

Merci d'avance.

Dernière modification par aikido (08-04-2009 16:24:37)

Hors ligne

 

#2 08-04-2009 16:18:57

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Mais que fait The Police ?
big_smile


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

Hors ligne

 

#3 08-04-2009 16:20:41

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Pardon?

Hors ligne

 

#4 08-04-2009 16:23:34

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

aikido a écrit:

...seront retournées en type sting

wink


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

Hors ligne

 

#5 08-04-2009 16:25:10

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Oups pardon :-) c'est corrigé :-)

Des idées sur ce stRing... :-)

A oui, l'API indique bien un retour en stRing pour __get de la class Row_Abstract...

Dernière modification par aikido (08-04-2009 16:25:43)

Hors ligne

 

#6 08-04-2009 16:29:05

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Hello,

C'est une erreur de l'API. La méthode ne fait qu'un :
return $this->_data[$columnName];
et pas un
return (string) $this->_data[$columnName];

A+


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

Hors ligne

 

#7 08-04-2009 16:30:08

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Oui mais la base de données elle ne fait pas de convertion, donc d'où vient le cast ou la transformation?

De plus dans l'API, ce serait mixed et pas string dans ce cas non?

Dernière modification par aikido (08-04-2009 16:30:46)

Hors ligne

 

#8 08-04-2009 16:50:44

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

aikido a écrit:

Oui mais la base de données elle ne fait pas de convertion, donc d'où vient le cast ou la transformation?

PHP

aikido a écrit:

De plus dans l'API, ce serait mixed et pas string dans ce cas non?

Exact


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

Hors ligne

 

#9 08-04-2009 16:54:10

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

Tu me dis PHP, c'est le Row qui fait la modif? mais pourquoi cette fois ci et jamais ailleurs?

Hors ligne

 

#10 08-04-2009 19:16:34

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

aikido a écrit:

...
En théorie toutes les données de la base de données seront retournées en type string.

Heu non ???
pourquoi ?

si jusqu'ici php était plutôt laxiste sur le sujet
je trouve plutôt bien qu'enfin in remonte des données typées comme dans la base
j'imagine que ton feed_id est un integer dans ta base

donc c'est parfait

A+JYT
PS: je le soupçonne d'utiliser les métadonnées de la table pour remettre les choses au propre
jusqu'à présent il s'en moquait

Hors ligne

 

#11 08-04-2009 19:18:56

aikido
Membre
Date d'inscription: 02-12-2008
Messages: 17

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

J'y ai pensé aussi sauf que ca ne me le fait que pour un seul champs!
Tous mes autres champs de type int, smallint ... sont retournés en string.

Hors ligne

 

#12 08-04-2009 19:25:08

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

Re: [Zend_Db][1.7.8] Object Row retourne un champs en type int

bigre
ce n'est donc pas pour la 1.8
mais alors il y a anguille sous roche

le moteur php fais parfois des transformation mais il faut pour cela que ça devienne strictement necessaire
et là je vois pas
A+JYT

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