jeudi 2 août 2018

Object of class Illuminate\Database\Eloquent\Collection could not be converted to int in laravel

I have a table named purchase_details in where during purchase, I am storing many items' purchase record at a time. During purchase also I am updating items table column opening_balance based on purchased items id, Now I am getting trouble when trying to sum 'purchase details' table quantity's value with 'items' table old opening_balance - in the controller, I am trying something like this-

public function store(Request $request)
{
$grandTotal = $request->input('grand_total');
$paidAmount = $request->input('paid_amount');
$purchase = new Purchase;

$purchase->no          = $request->input('no');
$purchase->purchase_date = Carbon::parse($request->purchase_date)->format('Y-m-d');
$purchase->notes       = $request->input('notes');
$purchase->supplier_id = $request->input('supplier');
$purchase->total_quantity = $request->input('total_quantity');
$purchase->grand_total = $grandTotal;
$purchase->paid_amount = $paidAmount;
$purchase->due_amount  = abs($grandTotal - $paidAmount);
$purchase->save();

$itemDetails = [];
$itemIds = $request->input('itemIds');
$itemQuantities = $request->input('itemQuantities');
$itemPrices = $request->input('itemPrices');
$itemTotals = $request->input('itemTotals');
$orderNotes = $request->input('orderNotes');

foreach ($itemTotals as $key => $total) {
    $itemDetails[] = [
        'item_id' => $itemIds[$key],
        'quantity' => $itemQuantities[$key],
        'unit_price' => $itemPrices[$key],
        'total_price' => $itemTotals[$key],
    ];
    $openingBalance = Item::where('id', $itemIds[$key])->get(['opening_balance']);
    DB::table('items')
                ->where('id', $itemIds[$key])
                ->update(['opening_balance' => $openingBalance + $itemQuantities[$key]]);
}
$purchase->purchaseDetails()->createMany($itemDetails);

return back();
}



from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/2n4urad
via IFTTT

Aucun commentaire:

Enregistrer un commentaire