2012-04-20 9 views
1

は、私は次の2つのクエリがありますなぜ1つのオブジェクトと1つの配列がありますか?

$query = $this->doctrine->em->createQuery("select u from ORM\Dynasties2\Characters u WHERE u.whichFamily = $whichfamily AND (u.deathDate = 0 OR u.deathDate IS NULL) "); 

$query = $this -> doctrine -> em -> createQuery ("SELECT a, b.msgText, b.fromUser, b.timeStamp, b.importance, b.msgType FROM ORM\Dynasties2\Maillinks a JOIN a.msgId b"); 

最初のクエリオブジェクトを返します。

array(9) { 
    [0]=> object(stdClass)#108 (18) { 
    ["__CLASS__"]=> string(25) "ORM\Dynasties2\Characters" 
    ["id"]=> int(67) 
    (etc) 

2番目のクエリは配列を返します。

array(4) { 
    [0]=> array(6) { 
    [0]=> string(24) "ORM\Dynasties2\Maillinks" 
    ["msgText"]=> string(24) "asdfasdfasdfasdfasdfasdf" 
    (etc) 

なぜ2番目の配列が配列を返しますか?

オブジェクトに変換する簡単な方法はありますか?私は同様に2番目のクエリを変更する場合

$query = $this -> doctrine -> em -> createQuery ("SELECT a FROM ORM\Dynasties2\Maillinks a JOIN a.msgId b"); 

は、出力が目的である

編集(doctrine2とcodeigniter2を使用して)

。だから私は部分的に私の質問に答えました - しかし、上記のコードは私が必要とするデータを返しません。

答えて

0

はこれを試してみてください(関係が適切に定義されている場合、それは戻って、オブジェクト必要があります):

SELECT a, b FROM ORM\Dynasties2\Maillinks a JOIN a.msgId b 
+0

おかげで、私はここにフォローアップの質問を投稿:http://stackoverflow.com/questions/10255941/nested- objects-mixed-results-from-dql-select – jeremy

関連する問題