更新QUERY推进2

时间:2016-07-08 09:39:47

标签: php database propel


我必须在我的登录数据库表中执行此查询:

Update user set id_ditta = 1 WHERE id = 6;

我尝试这样做(我已经创建了模型):

$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);

该页面给出了以下错误消息:

  

捕获致命错误:参数2传递给Propel \ Runtime \ ActiveQuery \ ModelCriteria :: doUpdate()必须实现接口Propel \ Runtime \ Connection \ ConnectionInterface,给出的Propel \ Runtime \ ActiveQuery \ Criteria实例,在C:中调用第19行的xampp \ htdocs \ work \ fiogest \ template \ verifica \ cambiaAzienda.php,在C:\ xampp \ htdocs \ work \ fiogest \ vendor \ propel \ propel \ src \ Propel \ Runtime \ ActiveQuery \ ModelCriteria.php中定义第1695行


我认为该页面给了我这个错误,因为doUpdate方法需要两个参数,我尝试删除$ update或$ where但查询不起作用,页面给我错误信息。

我该怎么办?
感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用以下内容:

$changeAz = 1;
$user = 6;

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