2013-11-23 88 views
3

我正在使用必須使用遺留數據庫的Symfony 2/Doctrine項目。我從現有的數據庫創建了一個Doctrine 2實體,通常工作得很好。但我似乎無法得到一個案例的工作:有一些數據庫條目有空字段(不是NULL,只是空的),我想通過一個Doctrine查詢選擇。學說2選擇空字段

$em = $this->getDoctrine()->getManager(); 
$query = $em->createQuery(
    'SELECT p FROM dtrcmsBundle:Page p WHERE p.articleName = :pageName' 
)->setParameter('pageName', ''); 

劑量似乎沒有工作。任何想法如何選擇空的領域?

回答

2

由於空字符串小於任何字符(我可能是錯誤的),所以我們可以比較字符編碼方案中的最低字符'0'。以下示例顯示了我的意思。

$em = $this->getDoctrine()->getManager(); 
    $query = $em->createQuery(
    'SELECT p FROM dtrcmsBundle:Page p WHERE p.articleName < :pageName' 
)->setParameter('pageName', '0'); 
+0

工作得很好!謝謝您的幫助! – wowpatrick

+0

完成一些更多測試。不幸的是,似乎在所有情況下都不起作用。會做更多的測試。 – wowpatrick

+1

只需做一些小改動就可以了:不用'a',而應該用'0'。當使用'a'時,您也會得到不是空的條目,但是該字段以數字開頭。 – wowpatrick