Har*_*itz 4 doctrine query-builder symfony doctrine-orm
我正在使用Symfony2和Doctrine2开发一个应用程序.我也使用Doctrine的QueryBuilder.我有这个问题:
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;
}
Run Code Online (Sandbox Code Playgroud)
我想看看结果我将如何得到$ Emaitza看起来.会是这样的:
$ Emaitza [0] ['Gordailua'] =选择的第一个Gordailua值.
然后$ Emaitza [0] [?????] =第一个c类型的对象.
我有点困惑.谢谢.
dbf*_*dbf 10
不记得我是怎么来到这篇文章的,但我甚至读过它并想了想,好吧..反正..
我认为他要求获得第一个结果,如果是这样的话......查询首先要知道结果的最大大小是多少
$qb->setMaxResults(1)
Run Code Online (Sandbox Code Playgroud)
然后你可以调用一个真正定义自己的方法
$single_result = $qb->getSingleResult()
Run Code Online (Sandbox Code Playgroud)
所以在给出的示例中代码看起来像
$qb->getQuery()->setMaxResults(1)->getSingleResult();
Run Code Online (Sandbox Code Playgroud)
Max*_*cki -1
首先,您需要指定 From 子句:
$qb->from('YourBundle\Entity\ParentOfGordailua as pg');
Run Code Online (Sandbox Code Playgroud)
您可以使用: getArrayResult() 以数组形式获取数据,如果您想从对象 ArrayCollection 中获取第一个对象(当您使用 getResult() 时,您必须:
$Gordailua = $Emaitza->first()->getGordailua();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
20623 次 |
最近记录: |