我必须在我的登录数据库表中执行此查询:
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但查询不起作用,页面给我错误信息。
我该怎么办?
感谢。
答案 0 :(得分:0)
尝试使用以下内容:
$changeAz = 1;
$user = 6;
LoginQuery::create()
->filterById($user)
->update([LoginTableMap::COL_ID_DITTA => $changeAz]);