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 originalpublic function buildForm
(FormBuilder
$builder, array $options) { $builder
->add('nombre')
->add('sexo')
->add('codPrograma')
;
}
public function getName() {
return 'acme_estudiantebundle_estudiantestype';
}
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 originalpublic function buildForm
(FormBuilder
$builder, array $options) { $builder
->add('id')
->add('nombre')
->add('sexo')
->add('codPrograma')
;
}
public function getName() {
return 'acme_estudiantebundle_estudiantestype';
}
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???