2016-10-15 1 views
2

J'utilise Propel 2 et j'essaie d'effectuer une mise à jour par lots des enregistrements. Les travaux suivants comme prévu:Utilisation d'une fonction SQL lors de la mise à jour de lignes avec Propel 2

//UPDATE animal SET species='Duck'; 
AnimalQuery::create()->update(['Species' => 'Duck']); 

Cependant, je ne sais pas quoi faire si je veux faire quelque chose comme ce qui suit:

UPDATE animal SET species=REPLACE(species, 'Mallard', 'Duck'); 

Est-ce possible en utilisant Propel?

Répondre

1

La requête suivante a le même résultat que la requête que vous déclarez répondrait à vos besoins.

AnimalQuery :: create() -> filterBySpecies ("Canard colvert") -> update (['Espèces' => 'Canard']);

Il émet la requête suivante. MISE À JOUR animal SET espèces = 'Canard' O WH espèce = 'Canard colvert';

Est-ce que cela répond à vos besoins?