按加密值Doctrine查找

时间:2017-09-07 08:22:14

标签: php symfony doctrine

我正在使用Doctrine,Symfony和这个:https://github.com/ambta/DoctrineEncryptBundle

我如何使用orm之类的

->findOneByUsername('username')

如果用户名是@Encrypted(在mysql中存储为'blob')?如果我查看日志文件中的查询,它似乎不会在将值添加到sql查询之前加密该值...

1 个答案:

答案 0 :(得分:2)

我对[{1}}不熟悉,但正如您在源代码中看到的那样,有https://github.com/ambta/DoctrineEncryptBundle服务。

所以我猜你可以在运行ambta_doctrine_encrypt.encryptor之前手动加载服务并加密条件值。

尝试这样的事情:

findOneByUsername

然后做:

// or where ever your container is located.
$encryptor = $this->container->get('ambta_doctrine_encrypt.encryptor');

如果有帮助,请告诉我。