where('tenant_codigo', $tenantCodigo) ->where('guest_token', $guestToken) ->where('status', 'active') ->lockForUpdate() ->first(); if ($guestCart === null || ! $guestCart->items()->exists()) { return; } $userCart = Cart::query() ->where('tenant_codigo', $tenantCodigo) ->where('user_id', $user->getKey()) ->where('status', 'active') ->lockForUpdate() ->first(); if ($userCart !== null) { $userCart->update([ 'status' => 'converted', ]); $userCart->delete(); } $guestCart->update([ 'user_id' => $user->getKey(), 'guest_token' => null, ]); }); } }