2017-04-24 46 views
0

我DQL這樣的:學說得到結果的問題

$sql =$qb->select('c') 
->from('Cusomter','c') 
->where('c.login = :login') 
->setParameter('login',$login); 
$rs = $sql->getQuery()->getResult(Query::HYDRATE_OBJECT); 

但我得到了以下錯誤

Fatal error: Class 'customer\Query' not found in MyNameSpace\customer.php

我是否需要使用任何命名空間?
謝謝。

回答

1

你不需要真正告訴getResult到hydrate_object,它的默認行爲,因此從方法本身調用。

嘗試:

$rs = $sql->getQuery()->getResult(); 
,如果你想知道恆正確的命名空間,雖然其

Doctrine\ORM\AbstractQuery::HYDRATE_OBJECT 
+0

但是當我選擇'用戶名,id'才把它會返回對象,但不陣列。無論如何,我能做到嗎? – Hanata

+0

youve asked for a object .. use Doctrine \ ORM \ AbstractQuery :: HYDRATE_ARRAY instead – DevDonkey

+0

對不起。我的意思是當我查詢'登錄,ID',那麼它會返回結果作爲數組而不是對象。對不起,我錯了。 – Hanata

1

嘗試:

use Doctrine\ORM\Query; 

\Doctrine\ORM\Query::HYDRATE_ARRAY