如何在原则 2 中设置固定实体关系



我有抽象实体(应用程序 - 基本核心):

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。

相关内容

  • 没有找到相关文章

最新更新