Doctrine querybuilder result

24,237

Solution 1

First of all you need to specify the From clause:

$qb->from('YourBundle\Entity\ParentOfGordailua as pg');

You can use the: getArrayResult() to fetch the data as an array, if you want get First object from the Object ArrayCollection(when you're using the getResult() you must:

$Gordailua = $Emaitza->first()->getGordailua();

Look at the reference and exaples: http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/dql-doctrine-query-language.html

Solution 2

Can't remember how I came to this post, but I even read it and thought, well .. anyways ..

I think he's asking to get the first result, if so .. the query should first know what the maximum size of result is by doing

$qb->setMaxResults(1)

and then you can call a method that really defines itself

$single_result = $qb->getSingleResult()

So in the example given the code will look like

$qb->getQuery()->setMaxResults(1)->getSingleResult();
Share:
24,237
Haritz
Author by

Haritz

Updated on July 09, 2022

Comments

  • Haritz
    Haritz almost 2 years

    I am developing an application using Symfony2 and Doctrine2. I also use Doctrine's QueryBuilder. I have this query:

    public function getInterpDesberdinak($MarkId)
        {
              $qb = $this->createQueryBuilder('c')
                  ->select('DISTINCT c.Gordailua, c')
                  ->where('c.MarkIdGordailua = :MarkId')
                  ->setParameter('MarkId', $MarkId);
              $Emaitza = $qb->getQuery()->getResult();
              return $Emaitza;
        }       
    

    I would like to how the result would I get in $Emaitza would look. Would it be something like:

    $Emaitza[0]['Gordailua'] = the first Gordailua value selected.

    and then $Emaitza[0][?????] = The first c type object.

    I am kind of confused.Thanks.