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();
}
上記の例は機能していません。私のデータベースには有効なオブジェクトがあります。値$myClassObject
は、activeがtrueのデータベースの結果と等しくなります。これはエンティティクラスです。ただし、データベースから取得した後はオブジェクト/クラスとして扱われません。 get/setなどの関数にはアクセスできません。symfony 2(Doctrine)は結果をクラスオブジェクトとして扱いません
がLIKE演算子は文字列パターンではなく、ブール値を一致させるために使用されています。 – Gerry