生成的PHP类中缺少Symfony/Doctrine2/YAML映射
我试图用Doctrine 2+Symfony和双向YAML映射创建这三个类 一切正常,没有错误,但生成的实体只包含用户实体的两个前集合声明。该实体也没有用于缺少链接的添加、删除和获取函数 我尝试分别生成每个映射,效果很好 这是教义的局限吗 生成的MyBundle\Entity\User.php构造函数(缺少令牌类的ArrayCollection): Collection.orm.yml:生成的PHP类中缺少Symfony/Doctrine2/YAML映射,symfony,doctrine-orm,yaml,Symfony,Doctrine Orm,Yaml,我试图用Doctrine 2+Symfony和双向YAML映射创建这三个类 一切正常,没有错误,但生成的实体只包含用户实体的两个前集合声明。该实体也没有用于缺少链接的添加、删除和获取函数 我尝试分别生成每个映射,效果很好 这是教义的局限吗 生成的MyBundle\Entity\User.php构造函数(缺少令牌类的ArrayCollection): Collection.orm.yml: MyBundle\Entity\Collection: type: entity table: co
MyBundle\Entity\Collection:
type: entity
table: collection
id:
collection_id:
type: integer
generator:
strategy: AUTO
fields:
...
manyToOne:
owner:
targetEntity: User
inversedBy: owned
joinColumn:
name: user_id
referencedColumnName: user_id
manyToMany:
shares:
targetEntity: User
inversedBy: shared
joinTable:
name: shares
joinColumns:
collection_id:
referencedColumnName: collection_id
inverseJoinColumns:
user_id:
referencedColumnName: user_id
MyBundle\Entity\Token:
type: entity
table: token
id:
token_id:
type: integer
generator:
strategy: AUTO
fields:
...
manyToOne:
user:
targetEntity: User
inversedBy: tokens
joinColumn:
name: user_id
referencedColumnName: user_id
Token.orm.yml:
MyBundle\Entity\Collection:
type: entity
table: collection
id:
collection_id:
type: integer
generator:
strategy: AUTO
fields:
...
manyToOne:
owner:
targetEntity: User
inversedBy: owned
joinColumn:
name: user_id
referencedColumnName: user_id
manyToMany:
shares:
targetEntity: User
inversedBy: shared
joinTable:
name: shares
joinColumns:
collection_id:
referencedColumnName: collection_id
inverseJoinColumns:
user_id:
referencedColumnName: user_id
MyBundle\Entity\Token:
type: entity
table: token
id:
token_id:
type: integer
generator:
strategy: AUTO
fields:
...
manyToOne:
user:
targetEntity: User
inversedBy: tokens
joinColumn:
name: user_id
referencedColumnName: user_id
User.orm.yml:
MyBundle\Entity\User:
type: entity
table: user
id:
user_id:
type: integer
generator:
strategy: AUTO
fields:
...
oneToMany:
owned:
targetEntity: Collection
mappedBy: owner
oneToMany:
tokens:
targetEntity: Token
mappedBy: user
manyToMany:
shared:
targetEntity: Collection
mappedBy: shares
Yaml不处理重复的密钥
oneToMany
应定义一次
MyBundle\Entity\User:
type: entity
table: user
id:
user_id:
type: integer
generator:
strategy: AUTO
fields:
...
oneToMany:
owned:
targetEntity: Collection
mappedBy: owner
tokens:
targetEntity: Token
mappedBy: user
manyToMany:
shared:
targetEntity: Collection
mappedBy: shares
完美的除了正确的方法外,我试过用各种方法来做这件事。非常感谢。