将列映射添加到 Doctrine 中的扩展类



我有一个PHP实体,它继承自我无法更改的库中包含的基类。我想将从基类继承的属性映射到数据库列。由于@Column注释必须用于方法字段,因此我无法以这种方式定义继承的列。使用@AttributeOverrides也不起作用,因为那时我需要访问基类才能使其成为 MappedSuperclass。

类示例:

class LibraryClass
{
    protected $someProperty;
}

/**
 * @Entity
 * @Table(name="child")
 */
class Child extends LibraryClass
{
    /**
     * @Column(name="some_property", type="string")
     * Somehow target $this->someProperty
     */     
}

有没有其他方法可以在不在类之间传输属性并且不使用继承的情况下映射父属性?

您可以使用 XML 或 YML 而不是注释进行映射。它记录在这里。

https://symfony.com/doc/current/doctrine.html#add-mapping-information

最新更新