我得到了这个:
public function getRolByIdAction(Request $request)
{
try{
$inicio = $this->get("app.Ensession");
if($inicio->logeado($this) === true && $inicio->ver_rol("sistemas") && $request->getMethod() == "POST"){
$filtro_busqueda = $request->get("filtro")["filtro"];
$roles = $this->getDoctrine()->getRepository('EntidadesBundle:Roles')->find($filtro_busqueda);
if($roles){
$response = new JsonResponse(
array(
'error' => false,
'data' => ***$roles->getQuery()->getArrayResult()***
)
);
}else{
new ErrorException(ErrorException::CONSULTA_SIN_RESULTADOS);
}
}else{
return $inicio->logeado($this);
}
return $response;
} catch (\Exception $e) {
$response = new JsonResponse(
array(
'error' => true,
'mensaje' => "Error " . $e->getCode() . " -> " . $e->getMessage()
)
);
return $response;
}
}
问题是我不知道我要发送什么来发送我发现的 $ roles 行
我发了那个
POST参数 核心价值 filtro
[▼" filtro" => " 1"]
我可以从查询查询原则中返回一个json模型吗?对于symfony3,我在 Entity / roles.php中没有 @ ORM / Id
答案 0 :(得分:1)
调用doctrine find方法后,不能使用getQuery()。 此方法应返回ArrayCollection。
要序列化您的角色集合,您可以使用https://github.com/schmittjoh/JMSSerializerBundle之类的包或使用本机symfony序列化程序https://symfony.com/doc/current/components/serializer.html。