Reputation: 1752
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.
Upvotes: 6
Views: 27893
Reputation: 3453
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();
And of courses, as stated below, if the query returns null
, an error will be thrown, so here a version which verifies the content of the query
if($query = $db->getQuery())
return $query->setMaxResults(1)->getSingleResult();
Upvotes: 11
Reputation: 1702
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
Upvotes: -1