Search code examples
symfonydoctrine-ormdoctrine-query

How to get Array Results in findAll() - Doctrine?


I need to fetch all records in database as Array using findAll() in Doctrine, My Query is Something like this

$result = $this->getDoctrine()
                ->getRepository('CoreBundle:Categories')
                ->findAll(\Doctrine\ORM\Query::HYDRATE_ARRAY);

even if set Hydration Mode to HYDRATE_ARRAY, am getting results as objects

array:4 [▼
0 => Categories {#323 ▶}
1 => Categories {#326 ▶}
2 => Categories {#329 ▶}
3 => Categories {#332 ▶}
]

what mistake i made?


Solution

  • The findAll() method does not have any parameters. You can, for example, use the repository's createQueryBuilder() method to achieve what you want to do:

    use Doctrine\ORM\Query;
    
    // ...
    
    $query = $this->getDoctrine()
        ->getRepository('CoreBundle:Categories')
        ->createQueryBuilder('c')
        ->getQuery();
    $result = $query->getResult(Query::HYDRATE_ARRAY);