次の2つのクエリがあります。
$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番目のものはなぜ配列を返すのですか?
それをオブジェクトに変換する簡単な方法はありますか?
(doctrine2 と codeigniter2 を使用)
編集:
2 番目のクエリを次のように変更すると:
$query = $this -> doctrine -> em -> createQuery ("SELECT a FROM ORM\Dynasties2\Maillinks a JOIN a.msgId b");
出力はオブジェクトです。だから私は私の質問に部分的に答えました - しかし、上記のコードは私が必要とするデータを返しません。