我在 Zend 框架中使用 Doctrine 2。我想要的是在没有用户登录的情况下更新用户密码。这是在实体类中执行此操作的正确方法吗?
public function updatePassword($userId, $new_pass, $em){
$em->getConnection()->getConfiguration()->setSQLLogger( new \Doctrine\DBAL\Logging\EchoSQLLogger());
$qb = $em->createQueryBuilder();
$q = $qb->update('\Application\User\Entity\User', 'u')
->set('u.password', $qb->expr()->literal($new_pass))
->where('u.userId = ?1')
->setParameter(1, "$userId")
->getQuery();
$p = $q->execute();
return $p;
}