2016-07-08 2 views
0


Je dois faire cette requête dans la table de ma base de données de connexion:MISE À JOUR QUERY Propel 2

Update user set id_ditta = 1 WHERE id = 6;

J'essaie de le faire de cette façon (je l'ai déjà modèle créé):

$changeAz = 1; 
$user = 6; 

$update = new Criteria(); 
$where = new Criteria(); 
$update->add(LoginTableMap::COL_ID_DITTA, $changeAz); 
$where->addAnd(LoginTableMap::COL_ID, $user); 
$con = Propel::getWriteConnection(\Model\Model\Map\LoginTableMap::DATABASE_NAME); 
LoginQuery::create()->doUpdate($update,$where, $con); 

La page me donne ce message d'erreur:

Catchable fatal error: Argument 2 passed to Propel\Runtime\ActiveQuery\ModelCriteria::doUpdate() must implement interface Propel\Runtime\Connection\ConnectionInterface, instance of Propel\Runtime\ActiveQuery\Criteria given, called in C:\xampp\htdocs\work\fiogest\template\verifica\cambiaAzienda.php on line 19 and defined in C:\xampp\htdocs\work\fiogest\vendor\propel\propel\src\Propel\Runtime\ActiveQuery\ModelCriteria.php on line 1695


Je pense que la page me donne cette erreur parce que la méthode doUpdate nécessite deux arguments, j'essaie de supprimer $ update ou $ where mais la requête ne fonctionne pas et la page me donne le message d'erreur.

Comment puis-je faire?
Merci.

+0

désolé pour ma question, je l'ai déjà résolu –

Répondre

0

Essayez d'utiliser quelque chose comme ceci:

$changeAz = 1; 
$user = 6; 

LoginQuery::create() 
    ->filterById($user) 
    ->update([LoginTableMap::COL_ID_DITTA => $changeAz]);