2016-09-29 69 views
0

我在一个项目中使用Doctrine,我必须找到一个值。如果这个值不存在或者有多个值,则必须启动另一个进程。 我想我应该使用findOneBy函数。现在我想知道如果结果不是单个值,那么这个函数会做什么。它会返回null吗?它会抛出一个错误?我试着查看Doctrine文档,但找不到它说什么返回值或可能的例外的地方。学说findOneBy返回值

对我来说,确切知道这个函数的作用非常重要,因为我必须在关键过程中使用它。在我的情况下,如何使用它的例子是不够的。如果有某种API文档,这将非常好。

如果有人能帮助我,它将不胜感激。 谢谢!

回答

3

您可以使用var_dump($findByOneResult)进行测试,并检查它是否返回 。

不要忘记使用exit()之后,所以你会停止在那里的代码。

我刚刚尝试了我的一个PHP项目(使用Zendframework 2和原则),它只返回数据库的第一次出现。

希望它能帮助你。

+0

你好。感谢您的回答和测试。我会亲自尝试,看看我是否得到了我需要的东西。 –

+0

这对测试Doctrine的工作原理非常有帮助。谢谢[KatharaDarko](https://stackoverflow.com/users/6868733/katharadarko)! – csalmeida

4

findOneBy将根据给定的条件返回单个对象,如果没有数据存在要返回,那么null值将是result.That可以用empty()函数检查。看到这个更多的信息http://symfony.com/doc/current/doctrine.html#fetching-objects-from-the-database,所有最好的

+0

感谢您的回复。我查看了Doctrine手册中的例子,但是我找不到一个地方说明返回值和异常是什么,仅仅是一些例子。 –