Update t set c1=c1+10 non fonctionnel avec Zend Update
Bonjour à tous,
J'ai un soucis, uniquement de syntaxe, du moins je l'espère.
Voilà, je voudrais que ma fonction Zend effectue ce traitement sql :
Code:
1 2
|
UPDATE t SET c1=c1+10; |
Ceci fonctionne très bien dans mon SGBD (Postgres).
Mais lorsque que je fait :
Code:
1 2 3 4 5
|
$db = Zend_Db_Table::getDefaultAdapter();
$where = $db->quoteInto('id_entities = ?', $id);
$update = array("c1"=>"c1"+10);
$this->update($update, $where); |
La valeur de mon tableau, (via var_dump) est égale à "10" et non c1+10.
Si je fait en sorte d'avoir une string dans mon tableau qui soit la même que celle requise en sql :
Code:
1 2
|
$update = array("c1"=>'c1+'.10); |
J'ai une erreur de type :
Code:
1 2 3 4
|
SQLSTATE[22P02]: Invalid text representation:
7 ERREUR: syntaxe en entrée invalide
pour le type double precision : «c1+10 » |
Pour des soucis de fiabilité de l'information je ne peux me permettre de d'abord sélectionner la valeur et ensuite mettre à jour la valeur sélectionnée + 10.
Merci de m'avoir lu,
SpaceInvader.