如何在Doctrine2中使用外键作为主键?

时间:2016-09-29 05:10:04

标签: php symfony doctrine-orm many-to-many

这个问题是关于Symfony2 / Doctrine2架构的情况。 这是我的YAML,没有名称空间和字段:

Region:
    id:
        id: { type: bigint, id: true, generator: { strategy: IDENTITY } }
    fields: ...

Domain:
    id:
        Region: { associationKey: true }
    fields: ...
    oneToOne:
        Region:
            targetEntity: Region
            joinColumn: { name: departure_city_id, referencedColumnName: id }

工作正常。但当我添加many2many关系实体symfony profiler给我一个错误DomainRegion Cannot map association 'DomainRegion#Domain as identifier, because the target entity 'Domain' also maps an association as identifier.

这是很多实体模式:

DomainRegion:
    id:
        Domain: { associationKey: true }
        Region: { associationKey: true }
    fields: ...
    manyToOne:
        Domain:
            targetEntity: Domain
            inversedBy: DomainRegions
            joinColumn: { name: region_id, referencedColumnName: departure_city_id }
        Region:
            targetEntity: Region
            #inversedBy: DomainRegions
            joinColumn: { name: region_child_id, referencedColumnName: id }

请注意,doctrine:generate:entitiesdoctrine:schema:update可以正常使用该架构。网站也运行正常,唯一困扰我的是symfony profiler中的错误。

0 个答案:

没有答案