我有抽象实体(应用程序 - 基本核心):
namespace AppBundlesAppBundleEntity;
abstract class App extends ContainerAware implements AppInterface
{
// .....
}
和自我实体:
namespace AppRusBundlesAppBundleEntity;
use DoctrineORMMapping as ORM,
AppBundlesAppBundleEntityApp as BaseApp;
/**
* App
*
* @ORMTable(name="apps")
* @ORMEntity(repositoryClass="AppRusBundlesAppBundleEntityAppRepository")
*/
class App extends BaseApp
{
// ....
}
和控件修订的实体:
namespace AppBundlesAppBundleEntity;
use DoctrineORMMapping as ORM;
/**
* AppHistory
*
* @ORMTable(name="apps_history")
* @ORMEntity(repositoryClass="AppBundlesAppBundleEntityAppHistoryRepository")
*/
class AppHistory
{
/**
* @var integer
*
* @ORMManyToOne(targetEntity="AppBundlesAppBundleEntityApp")
* @ORMJoinColumn(name="app_apple_id", referencedColumnName="apple_id")
*/
private $app;
}
我无法创建关系 AppHistory#app to App#apple_id
当我将实体设置为抽象类App时,学说创建一个新表"App"当我将映射超类设置为抽象类应用程序时,我有错误:http://docs.doctrine-project.org/en/latest/reference/inheritance-mapping.html#mapped-superclasses
如何创建从应用程序历史记录到抽象核心应用程序的关系?
我的理解是这是不可能的。我认为你做事的方式是错误的,至少对于Doctrine2来说是这样。
首先,从您提到的 Doctrine2 文档中:
映射超类是一个抽象或具体的类,它为其子类提供持久实体状态和映射信息,但它本身不是实体。
你不能与不是实体的东西建立关系!
要解决您的直接问题(~版本控制~),请查看Github上的EntityAudit。