Задать вопрос
nepster-web
@nepster-web

Частичная выборка и сущности?

Все примеры, что есть по DDD, конечно классные и все такое, но когда дело доходит до разработки появляются вопросы.

К примеру у нас есть сущность, которая может содержать коллекцию других сущностей.
Например: Сущность Клиент, которая может содержать коллекцию из сущностей Тренировка.

Иногда бывает задача, когда нужно достать в контексте клиента одну конкретную тренировку - например на странице конкретной тренировки.
Это очень легко сделать, обратившись к коллекции, пройти ее циклом и найти нужную сущность, либо по ключу.

Однако, зачем делать запрос и получать все тренировки, если нужна только одна?

Мы так-же можем запросить 1 тренировку и поместить ее в коллекцию, тогда это будет частичный объект с неполными данными, что не есть хорошо (да еще и контекст нарушается).

В общем как поступать в случаях, когда в контексте сущности нужна часть данных?
Ну и конкретные вопросы
1. Можно ли в сущности содержать методы, например getTrainings() и getTraining($id) с отложенной загрузкой?
2. Не напрашивается ли тут использование каких-то временных VO, которые будут сформированы с помощью Сервисов и и будут содержать данные для конкретной рабочей страницы?
  • Вопрос задан
  • 243 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@BorisKorobkov Куратор тега PHP
Web developer
Не усложняйте без необходимости. Нужна конкретная тренировка - получайте ее объект без всяких коллекций. Либо самостоятельно (Training::findOne(['training_id' => $trainingId])), либо через клиента ($client->getTraining($trainingId))
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽