2011-11-02 13 views
11

Quiero utilizar en mi proyecto Herencia de tabla única para symfony2/doctrine, pero no puedo encontrar ningún ejemplo de trabajo con configuración yaml para él. En la documentación oficial, solo se presenta la configuración de anotación. Encontré ejemplos xml, pero quiero usar la configuración yaml. ¿Alguien puede ayudar y compartir con algún código de trabajo?Herencia de tabla única y configuración de Yaml

Respuesta

1

Aquí es an example of YAML markup: archivos

Entidades de configuración se deben poner en src/Acme/StoreBundle/Resources/config/doctrine/<EntityName>.orm.yml acuerdo con reference.

se puede utilizar también incorporado un convertidor: how to model inheritance in doctrine2 with yaml?

+0

Tx, he leído esto y yo estoy usando marcado yaml en mi solicitud en este momento, pero tengo un problema con [Herencia Mapping] (http://www.doctrine-project.org/docs/orm/2.1/en/reference/inheritance-mapping.html). Necesito un ejemplo para [7.2 Single Table inheritance] (http://www.doctrine-project.org/docs/orm/2.1/en/reference/inheritance-mapping.html#single-table-inheritance) en yaml markup. –

+0

@Krzysztof Lenda: Puede usar el convertidor: http://stackoverflow.com/questions/6265105/how-to-model-inheritance-in-doctrine2-with-yaml –

+0

Gracias. Este convertidor parece ser una herramienta muy útil, no lo sabía antes. ¡Creo que puedo manejarlo ahora! –

12

bien convertidor incorporado salva la vida.

Con el fin de ahorrar tiempo esto un ejemplo de la herencia convertida en yaml:

#file: Resources/config/doctrine/Person.orm.yml 
Person: 
    type: entity 
    table: null 
    fields: 
    id: 
     type: integer 
     id: true 
     generator: 
     strategy: AUTO 
    inheritanceType: SINGLE_TABLE 
    discriminatorColumn: 
    name: discr 
    type: string 
    length: 255 
    discriminatorMap: 
    person: Person 
    employee: Employee 
    lifecycleCallbacks: { } 


#file: Resources/config/doctrine/Employee.orm.yml 
Employee: 
    type: entity 
    table: null 
    lifecycleCallbacks: { } 
+0

Tenga en cuenta que, con Symfony 2.2, las clases no son generadas por el comando de la consola 'doctrine: generate: entities' a menos que las clases se creen manualmente. –

Cuestiones relacionadas