cleanLineItem($item); } return $cleaned_items; } /** * Sets default values for the line_items. * @return $this */ private function cleanLineItem($item) { $invoice_item = (object) get_class_vars(InvoiceItem::class); unset($invoice_item->casts); foreach ($invoice_item as $key => $value) { if (! array_key_exists($key, $item) || ! isset($item[$key])) { $item[$key] = $value; $item[$key] = BaseSettings::castAttribute(InvoiceItem::$casts[$key], $value); } } if (array_key_exists('id', $item)) { unset($item['id']); } return $item; } }