Reputation: 31
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();
}
The above example is not working, my database has an object which active is true. The value $myClassObject
equals result from database where active is true. This is an entity class. However, it is not treated as an object/class after retrieving from the database. Functions like get/set cannot be accessed.
Upvotes: 1
Views: 72
Reputation: 39380
Try setting 1
instead of true
in the active
parameter and use equal
instead LIKE
as follow:
return $repo->createQueryBuilder('o')
->where('o.active = :active')
->setParameter('active', 1)
->getQuery()->getOneOrNullResult();
Hope this help
Upvotes: 1