Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/11/2014, 21:26
nmenna10
 
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.