get(); foreach ($transaction as $key => $row) { $key = 0; $bills = $row->booking->transactions()->bills()->where('original_amount', '=', $row->original_amount)->get(); if(count($bills) > 1){ $key = $bills->search(function($bill)use($row){ return $bill->id === $row->id; }); } $paymentTransaction = $row->booking->transactions()->payments()->complete()->where('original_amount', '=', $row->original_amount)->skip($key)->first(); $row->owner_type = Transaction::class; $row->owner_id = $paymentTransaction->id; $row->update(); } DB::commit(); } }