Bonjour,

Aujourd'hui un gros problème se pose a moi et impossible de trouver des solutions sur internet.

Lors d'une insertion, dans mes logs je me retrouve avec ce type de problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Jun 29 07:24:41 symfony [info] DO INSERT  : INSERT INTO ATTRIBUT (IDATTRIBUT,IDTYPEATTRIBUT,LCATTRIBUT,LLATTRIBUT,ISREQUIRED,ISIDENTITY,ISFOREIGN,FOREIGNTAB,ORDRE,LISTVIEW,FILTERVIEW,GROUPE,ORDREGROUPE) VALUES (:p1,:p2,:p3,:p4,:p5,:p6,:p7,:p8,:p9,:p10,:p11,:p12,:p13)
 
Jun 29 07:24:41 symfony [debug] {sfPropelLogger} INSERT INTO ATTRIBUT (IDATTRIBUT,IDTYPEATTRIBUT,LCATTRIBUT,LLATTRIBUT,ISREQUIRED,ISIDENTITY,ISFOREIGN,FOREIGNTAB,ORDRE,LISTVIEW,FILTERVIEW,GROUPE,ORDREGROUPE) VALUES ('879','4','DATDEB','Date de debut',true,true,false,'','10','879'0,'879'1,'879'2,'879'3)
Comme vous pouvez le voir, sur les 4 derniers attributs, il prend la valeur de ':p1'0 au lieu de prendre la valeur de ':p10'.

Après recherches, l'erreur doit se situer dans lib/symfony/vendor/symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel/util/BasePeer.php

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
19
20
 
public static function doInsert(Criteria $criteria, PropelPDO $con) {
 
[...]
 
self::populateStmtValues($stmt, self::buildParams($qualifiedCols, $criteria), $dbMap, $db);
 
[...]
 
}
 
public static function populateStmtValues(PDOStatement $stmt, array $params, DatabaseMap $dbMap, DBAdapter $db){
 
[...]
 
$stmt->bindValue(':p'.$i++, $value, $pdoType);
 
[...]
 
}
J'ai fait afficher les $value, elles sont correctes. Mais impossible de savoir quand il prend les valeurs de ':p1'0 a la place de ':p10'...

Une idée ?

Merci par avance.

Dood