/** * Store a newly created resource in storage. * * @return Response */ public function store(Request $request) { $array_purchase_order = ['name' => 'PO' . \DB::table('purchase_orders')->max('id'), 'purchase_order_time' => Input::get('sale_datetime'), 'subTotal' => Input::get('subtotal'), 'total' => Input::get('total'), 'partner_id' => Input::get('partner_id')]; $purchase_order_id = PurchaseOrder::create($array_purchase_order); $lines = sizeof(Input::get('sale_order_line_product_id')); $products_ids = Input::get('sale_order_line_product_id'); $products_name_ids = Input::get('sale_order_line_name'); $products_qty_ids = Input::get('sale_order_line_qty'); $products_unitPrice_ids = Input::get('sale_order_line_unitPrice'); $products_subTotal_ids = Input::get('sale_order_line_subtotal'); for ($i = 0; $i < $lines; $i++) { $purchase_line = ['name' => $products_name_ids[$i], 'qty' => $products_qty_ids[$i], 'unitPrice' => $products_unitPrice_ids[$i], 'subTotal' => $products_subTotal_ids[$i], 'purchase_order_id' => $purchase_order_id->id, 'product_id' => $products_ids[$i]]; PurchaseOrderLine::create($purchase_line); } return redirect()->route('purchases.index'); }
/** * Save */ public function save($po = null, $data = null) { DB::transaction(function () use(&$data, &$po) { if (is_null($po)) { $po = PurchaseOrder::create($data); } else { $po->fill($data)->save(); } if (!$data['items']) { throw new UnprocessableEntityHttpException('Empty line items'); } $po->items()->delete(); foreach ($data['items'] as $item) { $po->items()->create($item); } }); return $this->getById($po->id); }