Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/11/2012, 16:05
Avatar de laqmaslocaesta
laqmaslocaesta
 
Fecha de Ingreso: octubre-2012
Mensajes: 26
Antigüedad: 11 años, 6 meses
Puntos: 1
Pregunta symfony: problema crear objetos de una clase y guardarlos

Hola

estoy utilizando Symfony (la version estable anterior a la 2), pero no uso la parte de la Vista del MVC, esa esta en otra aplicación.

El caso es que estoy modificando a mano las acciones dentro del archivo actions.class.php y he encotrado un problema cuando he querido añadir un nuevo objeto a la clase Alumnos (es decir añadir un nuevo registro a mi base de datos MySQL)

El codigo del metodo que me da problemas es:

Código:
  public function executeNew(sfWebRequest $request)
  {
	$apellidoint=$request->getParameter('apellido');
	$edadint=$request->getParameter('edad');
	$correoint=$request->getParameter('correo');	
	//Primero comprobamos si el alumnos existe en la base de datos
	//De ser así enviaremos un mensaje de error
	//En caso de no existir será creado
	$this->alumnos = Doctrine_Core::getTable('Alumnos')->findOneByNombre($request->getParameter('nombre'));
	if($this->alumnos && $apellidoint==$this->alumnos->getApellido() && $ageint=$this->alumnos->getEdad() && $email=$this->alumnos->getCorreo()){		
	$salida['tipo']='0';
	$salida['list']='El alumno ya existe en la base de datos';	
	}else{
	$alumno = new Alumnos();
	$alumno->setNombre($request->getParameter('nombre'));
	$alumno->setApellido($apellidoint);
	$alumno->setEdad($edadint);
	$alumno->setCorreo($correoint);
	$alumno->setId_carrera('1');
	$alumno->setCreated(new \DateTime());
	$alumno->setUpdated(new \DateTime());
	$alumno->save();
	$this->getResponse()->setContentType('application/json');
	$salida=array();
	$salida['tipo']='1';
	$salida['list']='El alumno ha sido insertado correctamente en la base de datos';
	}
	return $this->renderText(json_encode($salida));

  }
La primera parte del código donde verifico si el alumno existe funciona perfectamente.

lo he verificando mediante una llamada desde el navegador.

en la segunda donde creo ya añado el objeto es donde tengo el problema y no se donde

llamo por el navegador al metodo introduciendo los datos de un alumno que no se encuentra en la base de datos:

Código:
http://localhost/alumnos/New?nombre=Angy&apellido=Pani&edad=46&correo=angel@angel
Tras verificar la linea del save:

Código:
	$alumno->save();
todo funciona bien mientras no se ejecute esta linea (con esta linea comentada, todo funciona correctamente, no da errores, aunque el alumno no se introduce que es el proposito del metodo)

no entiendo cual es el error.

Alguien me sabria indicar???

Muchas Gracias

Última edición por laqmaslocaesta; 14/11/2012 a las 16:13