使用.orm.yml配置在表中添加新列

时间:2015-03-27 14:30:32

标签: symfony orm doctrine-orm yaml symfony-2.3

我有一个问题要问你。可以使用.orm.yml配置为表添加新列吗?

例如我有:

Shop\DesktopBundle\Entity\Order:
type: entity
repositoryClass: Shop\DesktopBundle\Repository\OrderRepository
table: order
id:
    id:
        type: integer
        generator: { strategy: AUTO }
fields:
    order_adresse:
        type: string
        length: 255
    order_date:
        type: datetime
    is_active:
        type: boolean
        nullable: true
    created_at:
        type: datetime
oneToMany:
    Cart:
         targetEntity: Cart
         mappedBy: carts
manyToOne:
        category:
            targetEntity: Customer
            inversedBy: orders
            joinColumn:
                name: customer_id
                referencedColumnName: id
manyToMany:
    categories:
        targetEntity: Product
        joinTable:
            name: order_details
            joinColumns:
                order_id:
                    referencedColumnName: id
            inverseJoinColumns:
                product_id:
                    referencedColumnName: id
lifecycleCallbacks:
    prePersist: [ setCreatedAtValue ]

所以我尝试添加列#34;数量"关于多对多> order_details表

1 个答案:

答案 0 :(得分:0)

您尝试将quantity添加到不与表关联的关系中。试试这个:

manyToMany:
    categories:
        targetEntity: Product
        joinTable:
            name: order_details
            joinColumns:
                order_id:
                    referencedColumnName: id
            inverseJoinColumns:
                product_id:
                    referencedColumnName: id
fields: # if you already have 'fields' append to it
    quantity:
        type: int

使用yml设置实体的一个很好的例子是:http://doctrine-orm.readthedocs.org/en/latest/reference/yaml-mapping.html#example