Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
sur une table comportant un champ servant d'ordre de tri, je souhaite permuter deux lignes.
La requête me permettant de faire ceci est la suivante :
UPDATE table SET num_ordre = IF(num_ordre=3,2,3) WHERE num_ordre IN (2,3)
Je ne vois pas vraiment comment retranscrire celle-ci en ZF.
J'ai tenté ceci :
$table = new TypesComp(); $data = array( 'num_ordre' => 'IF(num_ordre=3,2,3)' ); $where = 'num_ordre IN (2,3)'; $table->update($data, $where);
La clause where semble ok puisque ce sont bien les bons enregistrements qui sont modifiés.
En revanche, le champ prend 0 pour valeur. La fonction IF ne semble pas appliquée correctement.
Un peu d'aide ?
D'avance merci.
Dernière modification par deviltaz (21-10-2010 14:41:13)
Hors ligne
essaie new Zend_Db_Expr("IF(num_ordre=3,2,3)")
Hors ligne
Exact, merci du coup de main
Hors ligne