Всем привет)
Ребят, подскажите пожалуйста, как правильно смапить классы агрегата состоящего из нескольких сущностей на доктрину, проставив связи между классами, если у нас порой могут быть только часть данных ?
У меня получается так, что я хожу по API забирать данные и порой апишка отдает только часть данных, а иногда полные (это связано с нюансами возникающих событий в системе).
Мое описание агрегата выглядит следующим образом:
class A {
private Id $id;
private SourceId $source;
private EventSource $eventSource;
public function __construct(
Id $id,
SourceId $source,
EventSource $eventSource
) {
$this->id = $id;
$this->source = $source;
$this->eventSource = $eventSource;
}
}
class EventSource {
private Id $id;
private ?ASource $aSource = null;
private ?BSourceVnr $bSource = null;
public function __construct(
Id $id,
?ASource $aSource = null,
?BSourceVnr $bSource = null
)
{
$this->id = $id;
$this->aSource = $aSource;
$this->bSource = $bSource;
}
}
class ASource {
private Id $id;
private int $param1;
private int $param2;
public function __construct(
Id $id,
int $param1,
int $param2
)
{
$this->id = $id;
$this->param1 = $param1;
$this->param2 = $param2;
}
}
class BSource {
private Id $id;
private int $param1;
private int $param2;
public function __construct(
Id $id,
int $param1,
int $param2
)
{
$this->id = $id;
$this->param1 = $param1;
$this->param2 = $param2;
}
}
Получается так, что классы ASource и BSource ссылаются на класс EventSource, т.е. их может быть множество, а EventSource один, также EventSource по отношению к классу A может быть множетсво, а класс A всего лишь один. (надеюсь удалось донести мысль по связям).
Буду благодарен, если подскажите как правильно смапить такой агрегат и поделитесь опытом, как вы обычно решаете такие задачи.