私はこれを使用しています:
$this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll(array(), Query::HYDRATE_ARRAY);
私はそれが配列の配列を返すことを保証するはずだと思ったが、それでもオブジェクトの配列を返す。
この種のことができるように、結果全体を配列の配列として返す必要があります(愚かな例ですが、それは私が意味することを説明しています):
<?php
$result = $this->getDoctrine()->getRepository('MyBundle:MyEntity')->findAll('return-an-array');
?>
This is the age of the person at the 5th record: <?php echo $result[4]['age']; ?>
これによれば EntityRepository class 、findAll
は複数の引数を取りません。
以下のコードはあなたが望むことをするはずです
$result = $this->getDoctrine()
->getRepository('MyBundle:MyEntity')
->createQueryBuilder('e')
->select('e')
->getQuery()
->getResult(\Doctrine\ORM\Query::HYDRATE_ARRAY);
getArrayResult()
の代わりにgetResult()
関数を使用することもできます。代わりに、データの配列を返します。
$query = $em->createQuery("SELECT test FROM namespaceTestBundle:Test test");
$tests = $query->getArrayResult();