@sgidlev

Как правильно сделать extend от entity модели в Doctrine?

Приветствую.

Подскажите, как правильно сделать extend от entity модели в Symfony?

У меня есть базовая модель:
/**
 * @ORM\Entity(repositoryClass=DislocationRepository::class)
 */
class Dislocation
{
	/**
	 * @ORM\Id()
	 * @ORM\GeneratedValue()
	 * @ORM\Column(type="integer")
	 */
	protected $id;

	/**
	 * @ORM\Column(type="integer")
	 */
	protected $carNumber;


Мне нужно наследоваться от этой модели, чтобы переопределись текущие методы, например вывод даты в другом формате и т.д.

/**
 * @Entity
 */
class DislocationDownloadingData extends Dislocation


Пробовал добавлять различные варианты в аннотации, но не получилось.

/**
 * Abstract base class to be extended by my entity classes with same fields
 * @Entity
 * @InheritanceType("SINGLE_TABLE")
 * @ORM\Entity(repositoryClass=DislocationRepository::class)
 */
class Dislocation
{


И другие сочетания с @MappedSuperclass не помогли.
  • Вопрос задан
  • 292 просмотра
Решения вопроса 1
serginhold
@serginhold
Мне нужно наследоваться от этой модели, чтобы переопределись текущие методы, например вывод даты в другом формате и т.д.

сущность не должна заниматься форматированием дат в другом формате, это тебе не yii или laravel какой-нибудь, с моделями-монстрами.
сущности отдельно, логика отдельно, вывод отдельно.
т.к. у тебя по любому есть какой-то признак у сущности, к какому типу она относится, то и сделай сервис, который будет определять как работать с сущностью на основе типа.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы