我正在尝试从实体对象中获取id。
守则
public function findByName($name)
{
$qb = $this->createQueryBuilder('u');
$qb->where('u.name = :name');
$qp->setParameter('name', $name);
return $qb->getQuery()->getResult();
}
我正在调用这个函数
$Obj = $this->getDoctrine()->getRepository('UserBundle:User');
$idName=$Obj->findByName('Sarah');
var_dump($idName->getId());
我收到此部分var_dump($idName->getId());
的错误。
我正在获取整个Object,我只想要Id。它没有用。
$idName
转储到此:
@array(1) {<br>
[0]=> object(UserBundle\Entity\User)#2339 (2) { <br>
["id":"UserBundle\Entity\User":private]=> int(2) ["name":"UserBundle\Entity\User":private]=> string(8) "Sarah" <br>
} }
答案 0 :(得分:3)
findBy...
始终返回找到的实体数组(即使只找到一个符号)。使用findOneBy...
始终只获取返回的第一个实体。
答案 1 :(得分:0)
您的问题是$idName
是@array(1)
,而不是对象。尝试使用它来实现它
var_dump($idName[0]->getId());