Создать пакет с расширяемыми сущностями - PullRequest
0 голосов
/ 07 мая 2019

Я пытаюсь создать пакет, в котором все сущности могут быть заменяемыми / расширяемыми, и наткнулся на эти две страницы:

Сейчас я впервые пытаюсь применить его на практике и создал этот простой тест:

В комплекте я создалинтерфейс для сущности Country

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 я всегда получаю сообщение об ошибке: 1027 *

Что я делаю неправильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...