@topuserman

Как лучше реализовать проверку данных в классе-сущности?

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

Заказ и покупатель - разные сущности.
При экспорте заказа, может быть такое, что покупателя уже нет в системе (например удален),
и такой заказ выгружать не нужно.

Каждый заказ содержит ID покупателя.

Сущность Покупателя реализовал так:

class Buyer {
   public function __construct(int $buyerId ) { ... }
   public function getFullName(): string { ... }
   //...
}


$orders = new OrderList();
foreach ($orders as $orderItem) {
      // тут перебираю заказы, и нужно понять,
      // если пользователя есть, тогда выполняет скрипт дальше 
     // один из вариантов через доп. метод покупателя проверять существование,
     // второй - отлавливать исключения
}


Как лучше реализовать это?

Для сущности Buyer добавить еще один метод isExist(): bool, или
в конструкторе выбрасывать исключение ?

Как лучше делать, и почему ?
  • Вопрос задан
  • 133 просмотра
Пригласить эксперта
Ответы на вопрос 3
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Нужно формировать на уровне класса OrderList метод, реализующий выборку с джоином по 2 таблицам, соответственно если правильно сформировать запрос, то в результатах будут только заказы с существующими юзерами.
Ответ написан
dmitriylanets
@dmitriylanets
веб-разработчик
а у вас не должно быть такого что заказ остался а покупателя удалили,
это то же самое что удалить заказ а позиции заказа остались.

при удалении покупателя нужно удалять все его заказы
Ответ написан
@oxidmod
Для подобных выгрузок вообще не нужны модели. Используйте sql и работаете с данными
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
15 авг. 2020, в 05:23
5000 руб./за проект
15 авг. 2020, в 04:49
5000 руб./за проект
15 авг. 2020, в 04:41
2000 руб./за проект