transactions()->bills()->get(); foreach ($transactions as $row) { $key = 0; $bills = $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 = $booking->transactions()->payments()->complete()->where('original_amount', '=', $row->original_amount)->skip($key)->first(); $row->owner_type = Transaction::class; $row->owner_id = $paymentTransaction->id; $row->updated_at = $row->updated_at; $row->update(); } } DB::commit(); } }