您好,我正在使用 Symfony2,我有以下关系:
表医:
/**
* @ORM\OneToMany(targetEntity="Cita", mappedBy="medico")
*/
protected $citas;
表 citas:
/**
* @ORM\ManyToOne(targetEntity="Medico", inversedBy="citas")
*/
protected $medico;
然后我有这个代码,其中一个预约是创建一个医生。
$em = $this->get('doctrine')->getEntityManager();
$cita = new Cita();
$empleado = $this->get('security.context')->getToken()->getUser();
$cita->setEmpleado($empleado);
$cliente = $this->getDoctrine()->getRepository('miomioBundle:Usuario')->find($this->getRequest()->query->get('cliente'));
$cita->setFechacita(new \DateTime($this->getRequest()->query->get('fecha')));
$cita->setCliente($cliente);//asociacion de cita a usuario.
$cita->setFechaoper(new \DateTime('now'));
$medico = $this->getDoctrine()->getRepository('miomioBundle:Medico')->find($this->getRequest()->query->get('medico'));
$cita->setMedico($medico);
$em->persist($cita);
$em->persist($cliente);
$em->persist($empleado);
$em->flush();
然后尝试预约医生:
public function pintarAction($id)
{
$return_arr = array();
$medico = $this->getDoctrine()->getRepository('miomioBundle:Medico')->find($id);
$citas = $medico->getCitas();
foreach($citas as $cita){
return new Response('entra');
$array['id'] = (string)$cita->getId();
$array['title'] = $cita->getCliente()->getNombre() . ' '. $cita->getCliente()->getApellido1();
$array['empleado'] = $cita->getEmpleado()->getUsername();
if ($cita->getInforme()){
$array['informe'] = $cita->getInforme()->getId();
$array['className'] = 'informe';
}
else{
$array['informe'] = 'NO';
$array['className'] = '';
}
$array['fecha'] = $cita->getFechaoper()->format('d-m-Y H:i:s');
$array['start'] = $cita->getFechacita()->format('Y-m-d H:i:s');
$array['allDay'] = false;
array_push($return_arr,$array);
}
return new Response(json_encode($return_arr), 200, array('Content-Type', 'text/json'));
}
其中变量 $medico 是可以的。但变量 $citas 为空。为什么?
有人知道我做错了吗?问候和感谢。