/** * ------------------------------------------------ * Set Subtotal * ------------------------------------------------ * Aplica el subotal en Model\Sale * según la suma de "ItemSale>subtotal" * * @return array $Items itemList */ public function setSubtotal() { /** * Recalculate Invoice QTY ItemsSale List */ $Items = ItemSale::where('sale_id', $this->saleId)->get()->toArray(); $operation = array_column($Items, 'subtotal'); if (!isset($operation)) { $operation = []; } $Sale = Sale::find($this->saleId); $Sale->subtotal = Calc::suma($operation); $Sale->save(); return $Sale->subtotal; }
/** * ------------------------------------------------ * getTopItemSales * ------------------------------------------------ * - Muestra las categorias de producto mas vendidos. * * - Obtiene lista de items vendidos. * - Obtiene las categorias de los productos * @return [type] [description] */ public function getTopItemSales() { $ItemSales = ItemSale::all()->toArray(); $TopItemSales = []; foreach ($ItemSales as $item => $attr) { $Product = Product::find($attr['product_id']); $TopItemSales[$item] = @$Product->categories->first()->name; } /** * Cuenta los valores * @var array */ $Sales = @array_count_values($TopItemSales); /** * Ordena el array > to < */ arsort($Sales); return array_slice($Sales, 0, 3); }