Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2012, 15:59
josueco123
 
Fecha de Ingreso: abril-2011
Mensajes: 6
Antigüedad: 13 años, 7 meses
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???