Selam arkadaşlar aşağıda kodları paylaştım sorun şu ki Transaction başlatıyorum process tablosuna veri ekleniyor ama process_cheque tablosuna veri eklenmediği halde işlemi rollback yapmıyor geri almıyor var mı yardımcı olabilecek?

Ayrıca şunuda belirtmek isterim ki kendim hata verdiriyorum denemek amaçlı kodlamada bir sıkıntı yok.

$data = $db->prepare("SELECT * FROM cheque_cart WHERE user_id=? && inserted_user_id=?");
    $data->execute([$user_id,$system_user_id]);
    $all = $data->fetchAll(PDO::FETCH_ASSOC);
    if($data->rowCount()){
        try{
            $db->beginTransaction();
            $insert1 = $db->prepare("INSERT INTO process SET process_type=?,process_user_id=?,process_inserted_user_id=?,process_desc=?");
            $insert1->execute([2,$user_id,$system_user_id,"Çek Tahsilatı"]);
            $lastID = $db->lastInsertId();
            $insert2 = $db->prepare("INSERT INTO process_cheque SET process_id=?,pc_debit_name=?,pc_debit_id=?,pc_owner_id=?,pc_date=?,pc_period_date=?,pc_bank=?,pc_status=?,pc_money=?,pc_no=?,pc_description=?");
            foreach ($all as $datas){
            $insert2->execute([$lastID,$datas['debit_name'],$datas['user_id'],0,$datas['process_date'],$datas['period_date'],$datas['bank'],1,$datas['money'],$datas['no'],$datas['description']]);
            }
            $inserted = $db->commit();
            if($inserted) {
                $json['title'] = "Dikkat!";
                $json['success'] = "Çek tahsilatı kayıt edildi.";
                $json['url'] = admin_url("customer-detail/".$user_id);
            }
        }catch (Exception $e){
            $db->rollBack();
            $json['title'] = "Dikkat!";
            $json['error'] = "Bir hata oluştu, sayfayı yenileyerek tekrar deneyin.";
        }
    }else{
        $json['title'] = "Çek Bulunamadı";
        $json['error'] = "Henüz hiç çek kaydı girmemişsiniz.";
    }