BOnjour à tous,

comme je ne trouvais pas de moyen pour gérer les formats de date, je me suis fais deux petites fonctions qui transforment les dates (au format dd/mm/yyyy ) pour l'enregistrement en base ou leur récupération.

dans mon controller j'ai une function :

public function datefrSql($var){
  list($jour,$mois,$annee) = explode('/',$var);
  $date = $annee.'-'.$mois.'-'.$jour;
   return $date;
} 
/// Dans la fonction ajout j'ai : 
public function ajout(){
  $this->request->data'Indivs']'date_naiss'] = datefrSql($this->request->data'Indivs']'date_naiss']);
// la suite avec un save etc....
}

Cette fonction fonctionne parfaitement, car je l'utilisais avant dans des projets sans cakephp.
Lorsque je fais tourner mon appli, j'ai droit à une erreur fatale qui me précise que la fonction datefrSql n'est pas définie....

Alors lç je n'y comprends plus rien. Je la définie plus haut?
J'imagine que cela doit être complètement débile comme solution, mais là je suis à l'ouest.

vous pouvez m'orienter?

Bon We à tous

9 réponses


Maenhyr
Réponse acceptée

N'oublie pas de mettre résolu du coup.

Tant qu'à faire, j'en profiterai pour faire une classe genre DateUtils, que je placerai dans app/Lib pour avoir plus de flexibilité.

Je me réponds car ma bêtise vient de sauter au visage :
il faut faire une

public function ajout(){
  $this->request->data'Indivs']'date_naiss'] = $this->datefrSql($this->request->data'Indivs']'date_naiss']);

// la suite avec un save etc....
}

P... faut vraiment que j'aille dormir...

Moi je me suis fait un helper et ça marche plutôt bien même dans un controller

Salut à tous les deux,

En fait j'attendais de voir ce que mon truc donnait avant de "résolu-er" le sujet.
Comme tu le préconnise prbaron, je me suis fais une petite classe Utils, dans Lib, histoire d'y placer toutes les petites fonctions de ce genre, que l'on utilise tous les jours et qui sont CH..... à refaire.

Mais, je me pose une question : Dans ce genre de cas, il est préférable de faire une lib ou un Helper ?? En pratique, il n'yva pas beaucoup de différence mais qu'est-ce qui est le plus rigoureux ??

A+

A mon sens les Helpers sont à utiliser dans une vue seulement. Les classes dans Lib sont à utiliser dans les Controllers ou Models.

C'est ce que je me disais aussi, mais comme cela fait très peu de temps que je me suis mis à Cake, j'ai peur de dire une connerie.
Donc on utilise les Lib.

Je clos le sujet bonne fin de soirée

En utilisant le helper Time de cakephp ça ne fonctionnait pas ?
http://book.cakephp.org/2.0/fr/core-libraries/helpers/time.html
Raphael

salut raphael,

en fait je me bat avec l'utilisation du TimeHelper

dans mon controller j'ai :

$public $Helpers = array('Time');

et dans la vue un truc comme :

echo $this->Form->input($this->Time->format('d/m/Y','date_naiss'), array('type'=>'text','label'=>'Date de Naissance : '));

Mais cela ne fait rien, je me retrouve toujours avec un DateTime à l'anglaise.

Je ne comprends pas

Un truc qui marche chez moi echo $this->Time->format('d/m/Y', $user'User']'created']);
$user correspond a ce que je transmet depuis mon controller
Ta variable date de naissance tu l'écris comment ?
Raph