Quelqu'un a-t-il déjà rencontré ce problème?CakePHP ne peut pas enregistrer dans la base de données Postgres, mais avec un retour réussi
Dans CakePHP, je l'ai.
$this->loadModel('BankBalance');
$data = array("BankBalance"=> array(bla bla bla...);
$this->BankBalance->save($data);
$log = $this->BankBalance->getDataSource()->getLog(false, false); debug($log);
et le debug me retourner ce
array(
'log' => array(
(int) 0 => array(
'query' => 'BEGIN',
'params' => array(),
'affected' => null,
'numRows' => null,
'took' => null
),
(int) 1 => array(
'query' => 'INSERT INTO bla bla bla...)',
'params' => array(),
'affected' => (int) 1,
'numRows' => (int) 1,
'took' => (float) 7
),
(int) 2 => array(
'query' => 'COMMIT',
'params' => array(),
'affected' => (int) 1,
'numRows' => (int) 1,
'took' => (float) 7
)
),
'count' => (int) 3,
'time' => (float) 14)
En fait, la ligne n'a pas été inséré malgré un message retourné avec succès. Mais si j'ai copié le SQL généré et l'exécuter, il insère vraiment dans la table. J'ai aussi essayé d'utiliser saveMany, il n'a pas fait l'INSERTion mais quand même, retournez-moi un message réussi.
Il n'y a pas de journal d'erreur dans CakePHP. updateAll fonctionne correctement pour la mise à jour. Et maintenant je cherche le sql INSERT
Je ne peux même pas faire le -> enregistrer dans une simple table avec un seul champ (caractère variable (50)), pas de déclencheurs, rien. Renvoyez-moi le message de réussite, mais pas d'insertion de données physiques dans la table.
Essayez de valider les données en premier, il pourrait y avoir une erreur. – urfusion
@urfusion les données sont propres. comme je pourrais copier le SQL généré, puis coller dans pgAdmin et l'exécuter, pas de problème. – Fire
Par validation, je veux dire valider par la validation du modèle cakephp en utilisant la méthode 'set' – urfusion