repository = new Order(); } /** * @param OrderObject $order * @param array $orderSteps * @throws CannotCreateOrderStepsException */ public function execute(OrderObject $order, array $orderSteps){ try { /** @var Order $repository */ $repository = $this->repository->findOrFail($order->getOrderId()); $repository->orderSteps()->delete(); $repository->orderSteps()->createMany($orderSteps); } catch (\Exception $exception){ throw new CannotCreateOrderStepsException($exception->getMessage()); } } }