Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Je voulais savoir s'il existait un moyen de récupérer un objet Zend_Date lorsque la colonne est de type datetime par exemple dans MySql.
Et inversement, lors de l'insert ou update.
Il existe surement plus simple, mais pour l'instant, si je veux afficher une date dans un certain format ou manipuler la date à l'aide d'un objet Zend_Date, je suis obligé de le créé moi même à chaque fois, et de faire un get pour l'utiliser dans un update/insert.
Alors qu'il serait à mon avis plus simple, si l'adapter était capable lors du describe de détecter les colonnes de date et sur l'objet Row, en fonction du type, il renverrait l'objet ? A plus ou moins, un paramètre à setter pour conserver l'ancien comportement.
Votre avis m'intéresse.
Dernière modification par cortex (22-05-2008 15:19:45)
Hors ligne
Il suffit de d'étendre Zend_DB_table non?
Dernière modification par Nikkau (22-05-2008 16:04:37)
Hors ligne
Pas seulement, cette classe récupère le schéma de la table à son init, et passe par l'adapter pour cela. Or pour exemple, l'adapter pdo mysql, n'identifie pas spécialement les colonnes de types datetime.
Donc, il faudrait reprendre tout les adapteurs (au moins pire celui spécifique au projet en cours).
Ensuite, il faut aller jusqu'au Zend_Db_Table_Row_Abstract qui contient la logique de fetch. A regarder, il ne lit les données que lorsqu'elles sont accédées. Donc une sorte de Lazy Decoration sur les valeurs de type DateTime.
Bien compliquée quand même, comment faites vous aujourd'hui pour manipuler vos dates ? un timestamp unix en base ? et vous utilisez directement date(format, timestamp) dans vos vues pour les rowsets ?
cortex
Hors ligne
Personnellement c'est ce que je fais... Mais ta question est très pertinente, et je serais aussi intéressé par les réponses, s'il y en a !!
Dernière modification par Bast (23-05-2008 09:28:22)
Hors ligne
Je suis bien interessé tout de même par ta solution si c'est possible :p
Hors ligne
cortex a écrit:
un timestamp unix en base et directement date(format, timestamp) dans les vues
Hors ligne
Pareil, sauf que mes champs ne sont pas timestamp, mais INT ...
Oui oui je sais c'est pas bien
Mais obligé puisque l'application doit pouvoir tourner sur tout les SGBD du marché, et que tous ne gerent pas de la meme maniere les Timestamp ...(en tout cas j'ai pas vu d'autre solution)
Hors ligne
Pages: 1