Спроектируйте модель сущности для управления несколькими двунаправленными отношениями.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Спроектируйте модель сущности для управления несколькими двунаправленными отношениями.

Сообщение Anonymous »

Я пытаюсь найти лучший способ создания отношений между сущностями моей модели.
Представьте себе следующие сущности Doctrine 2:

Код: Выделить всё

class ImageHistory
{
/**
* @var Image
*/
protected $current;

/**
* @var \Doctrine\Common\Collections\Collection
*/
protected $old;
}

class Dog
{
protected $name;

/**
* @var ImageHistory
*/
protected $imageHistory;
}

class Cat
{
protected $name;

/**
* @var ImageHistory
*/
protected $imageHistory;
}
Я хотел бы установить два двунаправленных отношения Doctrine «один ко многим», где Cat и Dog являются владеющими сторонами отношений. Оба класса Cat и Dog имеют следующую конфигурацию сущности:

Код: Выделить всё

manyToOne:
imageHistory:
targetEntity: ImageHistory
joinColumn:
name: image_history_id
referencedColumnName: id
Как представить другую сторону отношения?

Код: Выделить всё

oneToMany:
owner:
targetEntity: 
mappedBy: imageHistory
Я представляю себе решение, в котором Cat и Dog наследуют класс сущности Animal, поэтому я могу переместить отношение ManyToOne в Animal и поместите Animal в качестве targetEntity отношения OneToMany. Но проблема возникает снова, если у меня есть новая сущность SoundHistory и классы Cat, Dog и новые классы Car и Boat должны иметь к ней отношение.< /p>
Невозможно просто добавить SoundHistory как отношение oneToMany к классу Animal, поскольку Car и Boat не наследуются от него . Поэтому я все еще не могу заполнить targetEntity моего отношения OneToMany в сущности ImageHistory.
Как лучше всего спроектировать модель сущности в этом случае? ?

Подробнее здесь: https://stackoverflow.com/questions/172 ... -relations
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»