首页 > 解决方案 > 模式生成器:强制字段基数会生成错误的 ORM 基数

问题描述

当我尝试强制基数时,模式生成器在 PHP 文件中生成错误的 ORM 基数,简短示例:

YAML 配置文件:

    CreativeWork:
        properties:
            comment: { range: "Comment", cardinality: "(1..*)" }
    Comment:
        properties: {}

生成的PHP文件:

   /**
     * @var Collection<Comment>|null comments, typically from users
     *
     * @ORM\ManyToMany(targetEntity="App\Entity\Comment")
     * @ORM\JoinTable(inverseJoinColumns={@ORM\JoinColumn(nullable=false, unique=true)})
     * @ApiProperty(iri="http://schema.org/comment")
     */
    private $comments;

预期关系: OneToMany;实际:多对多。

我错过了什么 ?

干杯

标签: api-platform.com

解决方案


库源代码中可以看出,生成 OneToMany 注释mappedBy参数是必需的。可能,文档不完整。

不过,您可以随意更改任何生成的代码。例如,如果您需要单向关联。


推荐阅读