with(['asset' => function ($query) { $query->selectRaw('id, barang as name, harga'); }, 'purchaseRequestMachineManualDetails' => function ($query) { $query->selectRaw('id, purchase_request_machine_manual_id, unit_price_id, qty, used_qty'); $query->with(['unitPrice' => function ($query){ $query->selectRaw('id, name, unit, prices'); }]); }]) ->where('purchase_request_id', $purchaseRequestId) ->get(); } public function updateUsedQtyDetail($create, $detail, $isUpdated = false) { $updt = PurchaseRequestMachineManualDetail::whereHas('purchaseRequestMachineManual', function ($q) use ($create){ $q->where([ ['purchase_request_id', '=' , $create->ref_pr], ['asset_id', '=', $create->asset_id] ]); })->where('unit_price_id', $detail->unit_price_id)->first(); $qty = $isUpdated ? (float)$detail->qty : (float)$updt->used_qty + (float)$detail->qty; $updt->update([ "used_qty" => $qty ]); } }