Foros del Web » Programando para Internet » PHP » Symfony »

problema con id de las entidades generadas por doctriene

Estas en el tema de problema con id de las entidades generadas por doctriene en el foro de Symfony en Foros del Web. hola a todos, hace poco comenze a desarrollar con symfony2 y doctrine, utilice el comando php app/console doctrine:mapping:import para crear las entidades y luego utilice ...
  #1 (permalink)  
Antiguo 28/05/2012, 15:59
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Pregunta problema con id de las entidades generadas por doctriene

hola a todos, hace poco comenze a desarrollar con symfony2 y doctrine, utilice el comando php app/console doctrine:mapping:import para crear las entidades y luego utilice php app/console doctrine:generate:entities para agregar los getter y setters por ultimo utilce el comando php app/console generate:doctrine:crud para crear el controlador de la entidad, el cual pide que cambie el nombre del atributo identificador por $id y que cree el metodo getId(), tambien se creo las clase form para el manejo de los formularios.

a la hora de yo guardar un registro no es posible ya que las clases form, no traen el campo para guardar el id, vienen con el siguiente codigo:
Código PHP:
Ver original
  1. public function buildForm(FormBuilder $builder, array $options) {
  2.         $builder
  3.                 ->add('nombre')
  4.                 ->add('sexo')
  5.                 ->add('codPrograma')
  6.         ;  
  7.     }
  8.  
  9.     public function getName() {
  10.         return 'acme_estudiantebundle_estudiantestype';
  11.     }

y cuando presiono crear me sale la excepcion: SQLSTATE[HY000]: General error: 1364 Field 'Codigo' doesn't have a default value

intente corregir el form agregando le el campo de la id y quedo asi:
Código PHP:
Ver original
  1. public function buildForm(FormBuilder $builder, array $options) {
  2.         $builder
  3.                 ->add('id')
  4.                 ->add('nombre')
  5.                 ->add('sexo')
  6.                 ->add('codPrograma')
  7.         ;  
  8.     }
  9.  
  10.     public function getName() {
  11.         return 'acme_estudiantebundle_estudiantestype';
  12.     }
ahora las vista muestra el campo para guardar el id, pero cuando presiono crear me sale la excepcion misma expcion SQLSTATE[HY000]: General error: 1364 Field 'Codigo' doesn't have a default value
Alguien me podría decir por favor como hago para que se guarde la id que se envía en el formulario???
  #2 (permalink)  
Antiguo 28/05/2012, 16:13
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 3 meses
Puntos: 845
Respuesta: problema con id de las entidades generadas por doctriene

Si no recuerdo mal el id no es necesario. lo toma del action del form y ten en cuenta que el error es por el campo Codigo, no deberías tener un input para el mismo ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 28/05/2012, 17:58
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años
Puntos: 0
Respuesta: problema con id de las entidades generadas por doctriene

Cita:
Iniciado por masterpuppet Ver Mensaje
Si no recuerdo mal el id no es necesario. lo toma del action del form y ten en cuenta que el error es por el campo Codigo, no deberías tener un input para el mismo ?
el identificador en la base de datos es el Codigo, que es equivalente al id de clase entidad generada por doctrine. no entiendo por que el id no es necesario??? Gracias :)

Etiquetas: doctrine, framework, php, symfony2
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:21.