使用可扩展实体创建捆绑

时间:2019-05-07 15:23:54

标签: php symfony doctrine-orm

我正在尝试创建一个捆绑包,其中所有实体都是可替换/可扩展的,并且遇到了以下两个页面:

现在,我正在尝试将其第一次投入实践,并创建了这个简单的测试:

在捆绑包中,我为Country实体创建了一个接口

Jackson2JsonMessageConverter

然后,我创建了实体本身

namespace My\Custom\Bundle\Entity;

interface CountryInterface
{
    /**
     * @return string|null
     */
    public function getIsoCode(): ?string;
}

在我的应用程序中,我尝试使用此方法扩展实体:

namespace My\Custom\Bundle\Entity;

/**
 * @ORM\Entity()
 */
class Country implements CountryInterface
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string|null
     * @ORM\Column(type="string", nullable=true)
     */
    private $isoCode;

    // getters/setters
}

然后我将其添加到我的配置中:

namespace App\Entity;

use Doctrine\ORM\Mapping as ORM;
use My\Custom\Bundle\Entity\Country as BaseCountry;

/**
 * @ORM\Entity()
 */
class Country extends BaseCountry
{
    /**
     * @var string
     * @ORM\Column(type="string", nullable=true)
     */
    protected $name;
}

但是在进行doctrine: orm: resolve_target_entities: My\Custom\Bundle\CountryInterface: App\Entity\Country 时,我总是会收到一条错误消息,说doctrine:migrations:diff

我在做什么错?

0 个答案:

没有答案