lunes, 11 de julio de 2011

Symfony no toma el valor por defecto para un campo booleano

Si todo parece funcionar bien con un campo booleano (el sql de creación de la base de datos es correcto, la inserción y actualización funciona) excepto que los formularios no toman el valor por defecto definido en el archivo schema.yml, es muy probable que el problema se deba a que el valor por defecto esté definido de la siguiente forma:

    campo:
      type: boolean(1)
      notnull: true
      default: 'false'


El error acá es muy sencillo, pero a la vez puede ser bastante difícil de detectar. Simplemente los valores por defecto para campos tipo booleano, deben escribirse SIN comillas, de lo contrario en el formulario no se reconocerá el valor por defecto, aunque todo lo demás vaya bien. Así pues, la definición correcta sería:

    campo:
      type: boolean(1)
      notnull: true
      default: false

Borrar la caché, reconstruir todo y a probar!