17/11/2014, 21:26
|
| | Fecha de Ingreso: octubre-2014
Mensajes: 39
Antigüedad: 10 años, 1 mes Puntos: 0 | |
Respuesta: Consuta FatalError Hola Muchachos,
Defini como servicio de la siguiente manera en el app/config/config.yml
parameters:
nuevo_movimiento.class: Cresta\AulasBundle\Controller\MovimientoController
nuevo_movimiento.transport: idReserva
services:
nuevo_movimiento:
class: "%nuevo_movimiento.class%"
arguments: ["%nuevo_movimiento.transport%"]
y en mi controlador llamo de la siguiente manera:
public function deleteAction(Request $request, $id)
{
$form = $this->createDeleteForm($id);
$form->handleRequest($request);
//Esto no va nunca
//if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$entity = $em->getRepository('CrestaAulasBundle:Reserva')->find($id);
$idReserva = $em->getRepository('CrestaAulasBundle:Reserva')->find($id)->getId(); //tomo el id de la reserva para pasarlo para el alta de un movimiento
//echo($idReserva);
//esto de abajo esta comentado para para ver si en vardump me da los valores de $entity
/*if (!$entity) {
throw $this->createNotFoundException('Unable to find Reserva entity.');
}else{
//Si esta todo bien, cuando elimino una reserva, creo un objeto movimiento
$nuevoObjetoMovimiento = new MovimientoController();
//Llamo al metodo del objeto moviemiento para crear un movimiento
//El problema esta aca, en la invocacion del metodo
$nuevoObjetoMovimiento->newAction($id);
} */
if (!$idReserva) {
throw $this->createNotFoundException('Unable to find Reserva entity.');
}
//Si esta todo bien, cuando elimino una reserva, creo un objeto movimiento
//$nuevoObjetoMovimiento = new MovimientoController();
//Llamo al metodo del objeto moviemiento para crear un movimiento
//$nuevoObjetoMovimiento->newAction($idReserva);
$soy_un_movimiento = $this->get('nuevo_movimiento');
$soy_un_movimiento->newAction($idReserva);
$em->remove($entity);
$em->flush();
// } Esto no va nunca
return $this->redirect($this->generateUrl('aulas_reserva'));
}
Para que ejecute el siguiente codigo de otro controlador:
public function newAction($idReserva)
{
//Llamo al manejador de entidades
$em = $this->getDoctrine()->getEntityManager(); die('llegue aca');
//Creo un repositorio para, que es un objeto, para manejar los datos.
$reservaEliminada = $em->getRepository('CrestaAulasBundle:Reserva')->find($idReserva); //Busco pasando como parametro el id de reserva
$entity = new Movimiento();
$form = $this->createCreateForm($entity);
$fechaDeHoy = date('now'); //Asigno la fecha del dia de la baja para pasarlo a la vista y mostrarlo
$entity->this->setFecha($fechaDeHoy);
return $this->render('CrestaAulasBundle:Movimiento:new.html.twi g', array(
'fecha' => $fechaDeHoy, //Paso la fecha de hoy para que se muestre en la vista
'reservaEliminada' => $reservaEliminada, //Paso la reserva eliminada para cargar los valores en la vista
'entity' => $entity, //Paso la entidad movimiento para cargar los valores del movimiento
'form' => $form->createView(),
));
}
Pero me sigue dando el siguiente error:
FatalErrorException: Error: Call to a member function has() on a non-object in C:\xampp\htdocs\aulas\vendor\symfony\symfony\src\S ymfony\Bundle\FrameworkBundle\Controller\Controlle r.php line 198
Saludos. |