¿Por qué recibo “validador no” uno un salvamento con Doctrina de Symfony 1.2?

StackOverflow https://stackoverflow.com/questions/926725

  •  06-09-2019
  •  | 
  •  

Pregunta

Vamos a decir que tengo YAML esquema con ese aspecto:

Note:
  options:
    type: MyISAM
    collate: utf8_unicode_ci
    charset: utf8
  actAs: { Timestampable: ~ }
  columns:
    content: { type: string, notnull: true}
    order_id: int(5)
    user_id : int
  relations:
    User:
      foreignAlias: Notes
      local: user_id
      foreign: id
      type: one
      foreignType: man
      onDelete: CASCADE

Cuando se realiza:

$note->setOrderId(0);
$note->save();

Estoy recibiendo el siguiente error:

1 validator failed on order_id (type)
tienda

MySQL ORDER_ID como bigint (20).

Estoy usando Ubuntu 9.10, Symfony 1.2, PHP 5 y MySQL 5.

EDIT:

¿Tienes una sugerencia, si quito toda mención del tamaño en el archivo YAML, aparece un segundo error de validación para order_id (tamaño): -)

¿Fue útil?

Solución

lo tengo. La sustitución de "int" por "entero" y deshacerse del tamaño hizo el truco. Ahora el archivo YAML se ve así:

Note:
  options:
    type: MyISAM
    collate: utf8_unicode_ci
    charset: utf8
  actAs: { Timestampable: ~ }
  columns:
    content: { type: string, notnull: true}
    order_id: integer
    user_id : integer
  relations:
    User:
      foreignAlias: Notes
      local: user_id
      foreign: id
      type: one
      foreignType: man
      onDelete: CASCADE

He intentado que debido a otras personas en la red tenían errores similares, resuelto en sustitución de "varchar" con "cadena".

Si alguien se atascan en eso y leer esta respuesta, tomar una cerveza en sus nombres: -)

Otros consejos

Sé que esto es viejo ...

Sólo pensé que podría aclarar que la doctrina válida tipos son "entero", "cadena", "flotar", "decimal", "objeto", "CLOB", "blob", "enumeración", "matriz".

Doctrina luego se traduce el tipo doctrina en el tipo de base de datos correcta para el motor elegido.

Es por eso que "int" falló el validador tipo, pero "entero" funciona.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top