private function addLineItem() { $invoiceId = $this->_getParam('id'); $sku = $this->_getParam('sku'); $productId = $this->_getParam('product'); $unitPrice = $this->_getParam('unit_price'); $quantity = $this->_getParam('quantity'); if (!isset($productId) || $productId == 0) { $this->_redirect('/invoices/view/id/' . $invoiceId); return; } $invoicesTable = new Invoices(); $invoice = $invoicesTable->find($invoiceId)->current(); $customerProductsTable = new CustomerProducts(); $product = $customerProductsTable->findProductCoalesced($invoice->customer_id, $productId); $data = array('invoice_id' => $invoice->invoice_id, 'sku' => $sku, 'name' => $product['name'], 'unit_price' => $unitPrice, 'quantity' => $quantity); $detailsTable = new InvoiceDetails(); $detailsTable->insert($data); unset($data['invoice_id']); unset($data['quantity']); unset($data['name']); $data['product_id'] = $productId; $data['customer_id'] = $invoice->customer_id; $customerProductsTable->updateCustomerProduct($data); $this->_redirect('/invoices/view/id/' . $invoiceId); }