query foreign entitymanagerinterface symfony doctrine2

symfony - foreign - Error de conversión de Doctrine2



relation symfony (3)

¿Qué significa este error de "Doctrine2 & Symfony2"?

No se pudo convertir el valor de la base de datos "" a Doctrine Type Array


Preferiría no tener a todos ejecutando SQL en su base de datos de producción.

@ORM/Column(type="array", nullable=TRUE)

Una solución más sencilla para hacer que la columna sea nulable, por lo que después de ejecutar su "doctrina de la consola: esquema: actualizar --force", las entradas DB existentes obtendrán un valor NULL, en lugar de una cadena vacía. Y la doctrina puede manejar una conversión del valor de la base de datos NULL a Doctrine Type Array. Debería ser solo una referencia de matriz NULL. Y PHP empty () no importa si su matriz de tamaño cero o NULL.

En MySQL, obtengo el siguiente sql-dump:

ALTER TABLE my_table ADD my_new_column LONGTEXT DEFAULT NULL COMMENT ''(DC2Type:array)''


Probablemente haya cambiado un campo de tipo cadena para escribir matriz en su entidad, pero ya tiene datos de la base de datos. Está fallando al tratar de convertir una cadena vacía de la base de datos a una matriz.

Si se trata de una base de datos de desarrollo, simplemente elimínela y vuelva a crearla, o simplemente elimine las filas ofensivas. O puede convertir todas las cadenas vacías a a:0:{} (una matriz vacía serializada).

UPDATE table SET column="a:0:{}" WHERE column = "";


el tipo de columna de las tablas de db (por ejemplo, texto largo) no puede coincidir con el tipo de columna de Doctrine. cambiar el tipo de columna.