Symfony 对父母的自我参照原则

Symfony 对父母的自我参照原则,symfony,doctrine-orm,extends,Symfony,Doctrine Orm,Extends,例如,假设我在Symfony中有一个扩展存储库,并且父存储库已设置为另一个存储库的fieldtype。是否可以将同级设置为父字段类型 下面是一些(伪)代码来澄清我的问题: class User { /** * @ManyToOne(targetEntity="Product") * @JoinColumn(name="product_id", referencedColumnName="id") */ protected product; } c

例如,假设我在Symfony中有一个扩展存储库,并且父存储库已设置为另一个存储库的fieldtype。是否可以将同级设置为父字段类型

下面是一些(伪)代码来澄清我的问题:

class User 
{
    /**
     * @ManyToOne(targetEntity="Product")
     * @JoinColumn(name="product_id", referencedColumnName="id")
     */
    protected product;
}

class Product 
{
    protected price
}

class ProductList extends Product 
{
     /**
     * @ManyToOne(targetEntity="Product")
     */        
     protected list;
}

是否可以在用户的“产品”字段上设置ProductList?

我以前尝试过,但没有,它无法按您希望的方式工作。即使你给它一个产品列表,条令也会坚持一个产品。当您从orm加载它时,它将是一个产品而不是一个产品列表。对于这个问题有什么解决方法或不同的解决方案吗?您不能在您的用户实体上为产品设置多个关系吗?或者,如果您确实需要ProductList实体,请将TargetEntity设置为用户上的ProductList,然后即使只有1个产品,您也需要创建一个列表。可以使用。问题是我更喜欢有一个productlist,而不是一个对其他产品有自我引用的产品。