Bonjour,

Cela fait 3 heures que je galère avec une satané requete qui pourtant parait archi simple. je mexplique :

Voici la table sur laquelle j'agis :

tarif(#saison,#categorie,tarif)

(avec le couple #saison et #categorie comme clé primaire et étrangère).

J'ai bien sur crée la classe relative à la table, et donc je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
$tarifs=new Tarif; //ou $tarifs=new Tarif();
$letarif=$tarifs->createRow();
 
//affectation de mes valeurs
$letarif->saison=$sai;
$letarif->categorie=$cat;
$letarif->tarif=$valeur;
 
//enregistrement du tuple :
$letarif->save();
Il est écrit dans le livre de J.Pauli que la méthode save() faisait soit un insert soit un update ce qui m'arrange bien.
La syntaxe et la logique me semblent correctes si je m'en tiens à tout ce que j'ai pu lire (internet+livre), et pourtant la ligne $letarif->save() me fait une "An application has occured - Application Error".

Je me suis donc lancé dans une mise en place du log d'érreur, et d'apres le livre, et internet, voici ce que j'ai écrit dans mon bootstrap :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ************************** LOG ******************************
 
$log = new Zend_Log($writer = new Zend_Log_Writer_Stream('../application/' . $config->logfile));
 
 
 
// Ajout de paramètres à enregistrer, adresse ip et navigateur
$log->setEventItem('user_agent',$_SERVER['HTTP_USER_AGENT']);
$log->setEventItem('client_ip',$_SERVER['REMOTE_ADDR']);
 
$log->addPriority('USER', 8);
// Ajout des paramètres enregistrés dans le format du journal à écrire
$format = '%client_ip% %user_agent%' . Zend_Log_Formatter_Simple::DEFAULT_FORMAT;
 
// Ajout du format du journal au log
$writer->setFormatter(new Zend_Log_Formatter_Simple($format));
 
Zend_Registry::set('log', $log);
Je me suis très inspiré de l'exemple du livre.

Et puis ensuite pour que les erreurs s'écrivent, j'ai mis :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
try{
    $frontController->dispatch(); // dispatche !
}
catch (Zend_Exception $e)
{
 $log->crit($e);
 $log->log($e,Zend_Log::DEBUG);
 $log->log("toto",Zend_Log::DEBUG);
}
Par ailleurs quand je fais un $log->log("toto",Zend_Log:EBUG); HORS d'une boucle j'ai bien une entrée dans le fichier log, mais quand je mets cette ligne dans le traitement de l'exception, aucunes entrée. De même si dans le traitement je mets echo "bonjour", rien à faire non plus.

Du coup je galère à savoir d'ou vient mon erreur.

Si vous saviez ce qu'il se passe ce serait sympa de me filer un coup de main.

Merci beaucoup .