Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] Erreur sur un insert

Posted by Yadutaf on 03/19/2011 07:58

Bonjour à tous,

J'ai un message d'erreur sur un insert que j'ai un peu de mal à interpréter. Néanmoins, l'insertion se fait correctement. Voici le message d'erreur :

[[notice 8]] Undefined property: cDaoRecord_commons_Jx_product_Jx_mysql::$pan_id /srv/htdocs/jpdv/temp/pdv2/compiled/daos/modules/vendeur~panier~mysql.php 315

[[notice 8]] Undefined property: cDaoRecord_commons_Jx_product_Jx_mysql::$pan_id /srv/htdocs/jpdv/temp/pdv2/compiled/daos/modules/vendeur~panier~mysql.php 331

Le dao a été créé en ligne de commande :

<datasources>
<code>
     <primarytable name="panier" realname="p_panier_pan" primarykey="pan_id" />
</datasources> <record>
     <property name="pan_id" fieldname="pan_id" datatype="int" autoincrement="true"/>
     ...
</record></code>

Voici les lignes concernées dans le fichier compilé du dao :

314   public function insert ($record){
315      if($record->pan_id > 0 ){
...         ...
331         if($record->pan_id < 1 ) 
...         ...
334      }

Un dump sur $record->pan_id fait avant l'insert retourne bien "NULL", ce qui me semble normal.

Pour contrer cette erreur j'ai donc introduit

$record->pan_id = 0;

juste avant l'insert et ça passe.

Je n'ai pas ce problème sur les autres insert de l'application.

  [Opened] Erreur sur un insert

Reply #1 Posted by foxmask on 03/19/2011 11:07

bonjour,

ce n'est qu'une "notice" donc ça explique que ça marche pour la suite

as-tu essayé de purger le cache ?


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Re: Erreur sur un insert

Reply #2 Posted by Yadutaf on 03/19/2011 14:36

Exact. C'est une notice. J'ai bien purgé le cache mais cela ne change guère.

Ce que je ne m'explique pas, c'est pourquoi j'ai ce message avec ce dao mais pas avec les autres dao du même module. Ce n'est pas très gênant mais j'aimerais bien comprendre, d'autant plus que ce n'est pas très propre de donner une valeur 0 à l'identifiant pour qu'il s'auto-incrémente.

  [Opened] Erreur sur un insert

Reply #3 Posted by foxmask on 03/19/2011 23:18

plutot que

<property name="pan_id" fieldname="pan_id" datatype="int" autoincrement="true"/>

mets

<property name="pan_id" fieldname="pan_id" datatype="autoincrement"/>

en effet ; dans ton cas autoincrement=tue est ignore et datetype="int" prend le pas mais lui attendait une valeur par defaut.


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] Erreur sur un insert

Reply #4 Posted by laurentj on 03/22/2011 09:51

dans ton cas autoincrement=tue est ignore et datetype="int" prend le pas mais lui attendait une valeur par defaut.

comment ça ? C'est quelque part dans le code ?

Ces deux choses sont normalement équivalentes dans jelix 1.2 :

<code>
  <property datatype="autoincrement" />
  <property datatype="int" autoincrement="true" />
</code>

D'ailleurs le type "autoincrement" est plus ou moins obsolete maintenant.

  [Opened] Erreur sur un insert

Reply #5 Posted by laurentj on 03/22/2011 10:07

@yadutaf : quelle version de php, de jelix ?

  [Opened] Erreur sur un insert

Reply #6 Posted by Yadutaf on 03/22/2011 13:46

@foxmask : Merci. J'avais déjà essayé par acquis de conscience.

Bonjour Laurent,

PHP : 5.3.2-1 Jelix : 1.2

  [Opened] Erreur sur un insert

Reply #7 Posted by Yadutaf on 03/24/2011 19:12

Voilà que j'ai le même problème sur un autre DAO, créé à la main cette fois-ci.

 
Page
  1. Erreur sur un insert >
  2. Re: Erreur sur un insert