Maison  >  Questions et réponses  >  le corps du texte

Aucune transaction active

wipe_dataIl y a un problème avec cette fonction

Cela wipe_data fait fonctionner ma base de données pour nettoyer et gérer l'insertion de données Mais cette fonction affiche une erreur :

Aucune transaction active

Voici mon code :

function wipe_data() {
     DB::beginTransaction();
     $adminData = User::where('role', 'admin')->first();  
    try {
        User::truncate();
        User_details::truncate();
        User_kyc::truncate();
        Token::truncate();`enter code here`
        $auto_id = date('Y');
        DB::statement("ALTER TABLE ls_users AUTO_INCREMENT = $auto_id");
        $admin = new User();
        $admin->username = $adminData->username;
        $admin->email = $adminData->email;
        $admin->password = $adminData->password;
        $admin->role = $adminData->role;
        $admin->save();
        $user_id = User::where('role', 'admin')->value('id');
        DB::commit();
    } catch (\Exception $ex) {
        DB::rollback();
        return false;
    }
    return true;
}

P粉242741921P粉242741921264 Il y a quelques jours429

répondre à tous(1)je répondrai

  • P粉680087550

    P粉6800875502024-02-22 00:31:52

    Certaines déclarations provoquent des validations implicites , y compris la ALTER TABLE déclaration que vous utilisez.

    Donc, avant d'appeler DB::commit(), votre déclaration a déjà été validée et l'erreur s'est donc produite.

    répondre
    0
  • Annulerrépondre