C'est pas $this->request->dataau lieux de $this->data au fait? Ca fait longtemps que je n'ai plus fait de Cake2.
Par contre toi aussi t'as mille mettre de codes, je vois.. lol
Bonjour !
Comment faire pour debugger la fonction save() ?
Je suis très nouveau sur cakephp et j'ai du mal à comprendre quelque chose : quand, en test, en local, je rajoute un champs dans un formulaire, ce champs est bien mis à jour.
Mais quand je fais la même chose en prod, le champs n'est pas du tout mis à jour.
Juste avant le save de ma table, je force le champs à une valeur, mais dans la base en résultat, j'ai toujours rien ?
Avez-vous une idée ?
je suis épuisé de chercher...
Merci de votre aide.
;))
13 réponses
Bonsoir.
Si tu nous montrait le code concerné, ça pourrait nous aider.
Tu ne crois pas ?
EDIT : Il est inutile de créer deux fois le même sujet, fusionnes les en un seul s'il te plaît.
absolument d'accord.
Merci.
J'ai rajouté un champs ListBox dans un formulaire.
voici le code de la vue :
Configure::load('variables/experiences');
$options=Configure::read('experiences.recrut');
echo $this->Form->input('Offre.experience', array('type'=>'select','options'=>$options, 'label'=>'Expérience : ', 'div'=>'divform select'));
voici le fichier des variables stockées en /config/variables :
$config['experiences']['all']=array(
"1"=>"Aucune",
"2"=>"1 mois",
"3"=>"2 mois",
"4"=>" + de 6 mois",
"5"=>" + de 2 ans");
$config['experiences']=array(
"1"=>"Aucune",
"2"=>"1 mois",
"3"=>"2 mois",
"4"=>" + de 6 mois",
"5"=>" + de 2 ans");
$config['experiences']['recrut']=array(
"1"=>"Aucune",
"2"=>"1 mois",
"3"=>"2 mois",
"4"=>" + de 6 mois",
"5"=>" + de 2 ans"
);
PROBLEME :
avant mon save() de l'objet Offre, la valeur de [Offre][experience] a bien changé si je change la valeur dans le listbox.
MAIS SA VALEUR N'EST PAS MISE A JOUR EN BASE....
Ce PROBLEME N'ARRIVE PAS EN LOCAL MAIS EN PROD (serveur distant).
PROBLEME DE CACHE ?
Merci d'avance pour votre aide.....
Ce serait bien si tu utilisais la balise code, ce serais plus lisible pour nous et plus compréhensible, avec un minimum d'indentation au passage, par exemple :
voici le code de la vue :
voici le fichier des variables stockées en /config/variables :
Nous gagnons en visibilité tu ne trouves pas ?
Et ça prend quelques secondes.
absolument d'accord...
j'ai posté trop vite.
Dis moi, à part pour cette requête, est-ce que tu arrives bien à faire d'autres enregistrements/sauvegardes en base de données ?
Sinon, si tu veux être sur si la requête s'effectue bien ou pas, tu peux faire une vérification avec une condition sur la requête en retournant un message Flash dans le cas où le save échoue.
À mon avis, en ayant mis ton application en ligne, ton debug est peut-être désactivé et donc aucun retour d'erreur.
Mais ça peut aussi être autre chose, il nous faudrait plus de précisions pour t'être d'une plus grande aide.
Car c'est bien d'avoir donné le code de ta vue, mais le code de ta fonction pourrait nous être utile quand même.
merci pour ton aide
oui, en prod, le debug est désactivé
mon probleme général est : je rajoute une colonne à une table (table offre) : colonne "experience"
j'implémente ma fonction : cette donnée n'est jamais mise à jour.
je force meme la donnée à '33' par exemple, et rien ne se passe...
Je fais la meme chose en test : pas de probleme.
Quoiqu'il arrive, la colonne n'est jamais mise à jour mais les autres elles sont bien mises à jour, sans probleme
voici le code de la fonction
VIENS LA QUE JE T'EMBRASSE ARNAUD !!!!
tu veux quoi pour Noël ?
(mais bon, j'suis au smic alors faudra pas trop demander)
============****
J'ai vidé le cache de la table en question dans le répertoire /app/tmp/cache/models
et c bon....
Bonne journée.
oui, je croule sous les lignes de code...
et je crois que je vais me démerder tout seul car cakephp n'est pas beaucoup utilisé donc difficile à comprendre.
mon problème existe en prod mais pas en test.
Je rajoute un champs dans une table, je l'implémente dans mon fichier ctp
En prod, le champs n'est pas mis à jour, en test : pas de problème...
Hello,
As-tu vidé le cache de tes entités? Le champs n'est peut être tout simplement pas mappé avec ta table.
Pour ajouter le champs à ta base de donnée as-tu utilisé le systeme de mise a jour que fourni le framework?
AH merci Arnaud,
je pense vraiment que c'est ce genre de piste à suivre car le systeme de cache ne marche pas en local (probleme de permission je crois)
non, je n'ai pas utilisé le systeme de mise à jour fourni par le framework
donc je vais chercher dans ce sens
"champs"
pas mappé avec la table...
je ne comprends pas?
tu peux préciser stp ?
Merci !
Hello,
Content de savoir que tu as résolu ton problème.
Pense à marquer le sujet en résolu ^^
a+
je voulais le faire mais je n'ai pas trouvé comment...