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