判断一个实体是否存在于Doctrine 2中的最有效方法

Log*_*ley 4 php doctrine doctrine-orm

我正在创建一个注册表单,并想检查一封电子邮件是否已与某个帐户相关联.我能看到的所有方法都将创建整个User实体,但我只需要知道它是否存在.

Log*_*ley 9

  public function isUnusedEmail($email) {
    $em = static::$pimple['em'];
    $dql = 'SELECT 1 FROM App\Model\User user WHERE user.email = :email';
    $query = $em->createQuery($dql);
    $query->setParameter('email', $email);

    $res = $query->getResult();
    return empty($res);
  }
Run Code Online (Sandbox Code Playgroud)