draftCollection = new InvoiceDraftCollection(); } public function store(Invoice $invoice) { $draft = new InvoiceDraft(); $this->draftCollection->add($draft); foreach ($invoice->items as $existingItem) { $item = new Item(['description' => $existingItem['description'], 'amount' => $existingItem['amount']]); $this->draftCollection->addItemToDraft($draft->draftKey, $item); } $draft->date = today()->format('Y-m-d'); $draft->projectId = $invoice->project_id; $draft->notes = $invoice->notes; return redirect()->route('invoice-drafts.show', $draft->draftKey); } }