use AppBundle\Entity\classObject;
/**
* @Route("route/sub/action", name="methodName")
* @Method({"POST"})
*/
public function doMethod(Request $request)
{
$content;
$myClassObject = $this->returnObject();
if ($myClassObject) {
$myClassObject-> **NOTHING EXISTS...**
} else { $content = '[{ "result":"0" }]'; }
$response = new Response($content);
return $response;
}
/*
* @return classObject
*/
private function returnObject() {
$em = $this->getDoctrine()->getEntityManager();
$repo = $em->getRepository('AppBundle:classObject');
return $repo->createQueryBuilder('o')->where('o.active LIKE :active')->setParameter('active', true)->getQuery()->getOneOrNullResult();
}
上面的示例不起作用,我的数据库有一个active为true的对象。值$myClassObject
等于active为true的数据库的结果。这是一个实体类。但是,从数据库中检索后,它不会被视为对象/类。无法访问get / set等函数。
答案 0 :(得分:1)
尝试在1
参数中设置true
而不是active
,然后使用equal
代替LIKE
,如下所示:
return $repo->createQueryBuilder('o')
->where('o.active = :active')
->setParameter('active', 1)
->getQuery()->getOneOrNullResult();
希望这个帮助