2016-09-29 65 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手冊中的例子,但是我找不到一個地方說明返回值和異常是什麼,僅僅是一些例子。 –