Error: Call to a member function getId() on a non-object
Error: Call to a member function getId() on a non-object
我正在尝试从实体对象中获取 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());
。
我得到了整个对象,我只想要 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>
} }
你的问题是 $idName
是一个 @array(1)
,而不是一个对象。尝试使用它来实现它
var_dump($idName[0]->getId());
findBy...
总是 returns 一组找到的实体(即使只找到一个符合条件的实体)。使用 findOneBy...
始终只返回第一个实体。
我正在尝试从实体对象中获取 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());
。
我得到了整个对象,我只想要 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>
} }
你的问题是 $idName
是一个 @array(1)
,而不是一个对象。尝试使用它来实现它
var_dump($idName[0]->getId());
findBy...
总是 returns 一组找到的实体(即使只找到一个符合条件的实体)。使用 findOneBy...
始终只返回第一个实体。