我们正在使用 Symfony2/DoctrineOdm/MongoDB,当我们这样做时:
if ($doc.referenceOne != null) { ... }
并且$doc.referenceOne
包含指向已删除/丢失文档的MongoDbRef,Doctrine Proxy 对象引发 MongoDBException。
可以告诉代理返回 null 而不是引发异常吗?
详细说明:
我们的文件:
class User {
/* @MongoDB\ReferenceOne( ... ) */
private $photo;
}
如果 $photo 包含MongoDbRef,但文档丢失/删除,
当我们做if ($user.photo) { ... }
学说时会引发 MongoDBException:
The "Proxies\DocumentPhotoProxy" document with identifier "4fd8b3ef732bafab7b000000" could not be found
我们希望抑制异常,因为我们的应用程序可以处理该变量中的空值。
(我们可以简单地记录该错误,而异常传播到 500 页并中断我们的服务)