public function test() { // jelly cup 47 // coco jelly 67 - product_id // return Product::find(67)->boxes; return Box::countReturns(49); }
public function scopeCountReturns2($query, $box_id) { $ret = Box::countReturns($box_id); $rbox = $ret['no_of_box']; $rpacks = $ret['no_of_packs']; $box = Box::find($box_id); $inStock = $box->instocks->sum('quantity') + $rbox; $packsPerBox = $box->no_of_packs; $totalPacks = $inStock * $packsPerBox + $rpacks; $noOfBoxOrdered = $box->orderItems->sum('no_of_box'); $noOfPacksOrdered = $box->orderItems->sum('no_of_packs'); $totalOrders = $noOfBoxOrdered * $packsPerBox + $noOfPacksOrdered; $totalNoOfPacksLeft = $totalPacks - $totalOrders; $totalNoOfBoxLeft = floor($totalNoOfPacksLeft / $packsPerBox); $totalNoOfBoxLeft == null ? 0 : $totalNoOfBoxLeft; $totalNoOfPacksLeft == null ? 0 : $totalNoOfPacksLeft; $totalLeft = ['no_of_box_available' => $totalNoOfBoxLeft, 'no_of_packs_available' => $totalNoOfPacksLeft - $totalNoOfBoxLeft * $packsPerBox]; return $totalLeft; }