Php 创建一对多映射,其中许多映射可以是不同的对象类型

Php 创建一对多映射,其中许多映射可以是不同的对象类型,php,mysql,orm,doctrine,doctrine-orm,Php,Mysql,Orm,Doctrine,Doctrine Orm,我正在探索改造现有数据库以使用条令的可行性 我有三张表,a库存申请表、销售订单表、工作订单表StockRequest包含字段类型和类型编号。类型用于确定它是否与销售订单或工作订单有关系,类型号是销售订单/工作订单的键 维持这种关系的推荐方法是什么 阅读条令文档时,它提到了一个repository类,我可以使用它根据类型有条件地获取,只维护一个StockRequest实体 另一种可能是对StockRequest类进行子类化,这样我就有了SalesOrderStockRequests和WorkOrd

我正在探索改造现有数据库以使用条令的可行性

我有三张表,a库存申请表、销售订单表、工作订单表StockRequest包含字段类型和类型编号。类型用于确定它是否与销售订单或工作订单有关系,类型号是销售订单/工作订单的键

维持这种关系的推荐方法是什么

阅读条令文档时,它提到了一个repository类,我可以使用它根据类型有条件地获取,只维护一个StockRequest实体


另一种可能是对StockRequest类进行子类化,这样我就有了SalesOrderStockRequestsWorkOrderStockRequests

我会使用继承和关系,例如:

abstract class AbstractOrder {
 common fields
}

class SalesOrder extends AbstractOrder {

}

class WorkOrder extends AbstractOrder {

}
然后

当您获取订单(){return$this->order;}
Doctrine可以返回SalesOrder或WorkOrder的u实例

我有一个完全相同的问题-你进展如何?我决定子类化。您可以将所有公共逻辑粘贴到抽象类中,只需重写不同的字段和方法。我认为这是一条路要走,否则我们将不得不与实体经理进行一些糟糕的耦合。
class StockRequest {
   relationship pointing to AbstractOrder
}